X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Frendercontrol.hh;h=c8e74b19c1b0a59c49dba598269fa44fcffe9f82;hb=2808ab5bad8ff49a1af909c2515288310cc89378;hp=20ec8c1d5cffe201f10f1830e13cfe18dcd69ef3;hpb=d8d9b42777ace234f3471918e1210062578f8188;p=chaz%2Fopenbox diff --git a/otk/rendercontrol.hh b/otk/rendercontrol.hh index 20ec8c1d..c8e74b19 100644 --- a/otk/rendercontrol.hh +++ b/otk/rendercontrol.hh @@ -7,14 +7,16 @@ extern "C" { #include } +#include "surface.hh" + namespace otk { class ScreenInfo; -class Surface; class RenderTexture; class Font; -class Color; +class RenderColor; class ustring; +class PixmapMask; class RenderControl { protected: @@ -63,18 +65,31 @@ protected: RenderControl(int screen); + virtual void drawSolidBackground(Surface& sf, + const RenderTexture& texture) const; + public: virtual ~RenderControl(); static RenderControl *getRenderControl(int screen); - //! Draws a string onto a Surface - virtual void drawString(Surface& sf, const Font &font, int x, int y, - const Color &color, const ustring &string) const; - + 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 a string onto a Surface + virtual void drawString(Surface &sf, const Font &font, int x, int y, + const RenderColor &color, + const ustring &string) const; + + //! Draws a PixmapMask with a specified color onto a Surface + virtual void drawMask(Surface &sf, const RenderColor &color, + const PixmapMask &mask) const; }; }