]> Dogcows Code - chaz/openbox/blobdiff - otk/surface.hh
add an app to display the icons for a window
[chaz/openbox] / otk / surface.hh
index 53738128a2d8b06328f43e48eea56d7cd50450a5..7a202491f188392b5e0f5d7e354bf2ea6f6febb2 100644 (file)
@@ -2,8 +2,9 @@
 #ifndef __surface_hh
 #define __surface_hh
 
-#include "point.hh"
+#include "size.hh"
 #include "truerendercontrol.hh"
+#include "pseudorendercontrol.hh"
 
 extern "C" {
 #include <X11/Xlib.h>
@@ -14,36 +15,36 @@ extern "C" {
 namespace otk {
 
 class ScreenInfo;
+class RenderColor;
 
 class Surface {
   int _screen;
-  Point _size;
-  XImage *_im;
-  Pixmap _pm;
+  Size _size;
+  Pixmap _pixmap;
   XftDraw *_xftdraw;
 
+protected:
   void createObjects();
   void destroyObjects();
-  
-protected:
-  Surface(int screen);
-  Surface(int screen, const Point &size);
-
-  virtual void setSize(int w, int h);
 
+  void setPixmap(XImage *image);
+  void setPixmap(const RenderColor &color);
+  
 public:
+  Surface(int screen, const Size &size);
   virtual ~Surface();
 
   inline int screen(void) const { return _screen; }
-  virtual const Point& size() const { return _size; }
-  virtual int width() const { return _size.x(); }
-  virtual int height() const { return _size.y(); }
-  virtual Pixmap pixmap() const { return _pm; } // TEMP
+
+  virtual const Size& size() const { return _size; }
+
+  virtual Pixmap pixmap() const { return _pixmap; }
 
   // The RenderControl classes use the internal objects in this class to render
   // to it. Noone else needs them tho, so they are private.
   friend class RenderControl;
   friend class TrueRenderControl;
+  friend class PseudoRenderControl;
 };
 
 }
This page took 0.02163 seconds and 4 git commands to generate.