]> Dogcows Code - chaz/openbox/blobdiff - otk/rendercontrol.hh
add skeleton for RenderControl::drawImage
[chaz/openbox] / otk / rendercontrol.hh
index 1d9ab7e7501dd3c1eb23978db21e246ae3797e06..49395c58fffb88231e3e9bfaad106f65d0b3de2f 100644 (file)
@@ -7,14 +7,16 @@ extern "C" {
 #include <X11/Xutil.h>
 }
 
+#include "surface.hh"
+
 namespace otk {
 
 class ScreenInfo;
-class Surface;
 class RenderTexture;
 class Font;
 class RenderColor;
 class ustring;
+class PixmapMask;
 
 class RenderControl {
 protected:
@@ -71,14 +73,31 @@ public:
 
   static RenderControl *getRenderControl(int screen);
 
+  virtual void drawRoot(const RenderColor &color) const;
+  
+  //! Draws a background onto a Surface, as specified by a RenderTexture
+  /*!
+    This function will overwrite the entire surface.
+  */
+  virtual void drawBackground(Surface &sf,
+                             const RenderTexture &texture) const = 0;
+
+  //! Draws an image onto the surface
+  /*!
+    This function will overwrite the entire surface.<br>
+    The image must be specified in 32-bit packed ARGB format. The current
+    background will be used for applying the alpha.
+  */
+  virtual void drawImage(Surface &sf, int w, int h, unsigned long *data) const;
+  
   //! Draws a string onto a Surface
-  virtual void drawString(Surface& sf, const Font& font, int x, int y,
-                         const RenderColorcolor,
-                          const ustringstring) const;
+  virtual void drawString(Surface &sf, const Font &font, int x, int y,
+                         const RenderColor &color,
+                          const ustring &string) const;
 
-  //! Draws a background onto a Surface, as specified by a RenderTexture
-  virtual void drawBackground(Surface& sf,
-                             const RenderTexture& texture) const = 0;
+  //! Draws a PixmapMask with a specified color onto a Surface
+  virtual void drawMask(Surface &sf, const RenderColor &color,
+                        const PixmapMask &mask) const;
 };
 
 }
This page took 0.022061 seconds and 4 git commands to generate.