X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=otk%2Frendercontrol.hh;h=f4ae64936a1203ba316c4dfd351d9649c913ef8c;hb=25f0151154c90b1c72f049e200d942fb2c18ddc5;hp=123fd1bfb115a42d5c6c9a26c8fbde1c6ee07bfc;hpb=67bb7f8ce08d3ef625843ab7ea2c4434b1620ecf;p=chaz%2Fopenbox diff --git a/otk/rendercontrol.hh b/otk/rendercontrol.hh index 123fd1bf..f4ae6493 100644 --- a/otk/rendercontrol.hh +++ b/otk/rendercontrol.hh @@ -4,28 +4,30 @@ extern "C" { #include +#include } namespace otk { class ScreenInfo; +class Surface; +class RenderTexture; +class Font; +class Color; +class ustring; class RenderControl { protected: - const ScreenInfo *_screen; - - // the number of bits (1-255) that each shade of color spans across. best - // case is 1, which gives 255 shades - int _red_bits; - int _green_bits; - int _blue_bits; + int _screen; + /* // color tables, meaning, 256 (possibly) different shades of each color, // based on the number of bits there are available for each color in the // visual unsigned char _red_color_table[256]; unsigned char _green_color_table[256]; unsigned char _blue_color_table[256]; + */ /* Bool _dither; @@ -59,14 +61,23 @@ 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 render(::Drawable d); + //! 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; + + //! Draws a background onto a Surface, as specified by a RenderTexture + virtual void drawBackground(Surface& sf, + const RenderTexture& texture) const = 0; }; }