X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=otk%2Frendercontrol.hh;h=1d9ab7e7501dd3c1eb23978db21e246ae3797e06;hb=b45a68cc30121ad2c5cd3b795a6b5e8572425316;hp=371198468107ff585af072e841127faa65dc1424;hpb=a4dd208a7955e25bca710d4bcf355de7e608b9e1;p=chaz%2Fopenbox diff --git a/otk/rendercontrol.hh b/otk/rendercontrol.hh index 37119846..1d9ab7e7 100644 --- a/otk/rendercontrol.hh +++ b/otk/rendercontrol.hh @@ -12,10 +12,13 @@ namespace otk { class ScreenInfo; class Surface; class RenderTexture; +class Font; +class RenderColor; +class ustring; class RenderControl { protected: - const ScreenInfo *_screen; + int _screen; /* // color tables, meaning, 256 (possibly) different shades of each color, @@ -58,15 +61,24 @@ protected: int _ncolors; */ - RenderControl(const ScreenInfo *screen); + RenderControl(int screen); + virtual void drawSolidBackground(Surface& sf, + const RenderTexture& texture) const; + public: virtual ~RenderControl(); static RenderControl *getRenderControl(int screen); - 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 background onto a Surface, as specified by a RenderTexture + virtual void drawBackground(Surface& sf, + const RenderTexture& texture) const = 0; }; }