X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Ftruerendercontrol.hh;h=36dbe2441165b8946a79cb3a3e459b7cd0b8535f;hb=60cbb9ee92058b7d52bf2a4542c64c7858b00cdd;hp=72e3850e431e7cb47c5e1b15b8d4fad7c8736029;hpb=0dcbf985c11c850b30b2983e1e20cd8cf033f054;p=chaz%2Fopenbox diff --git a/otk/truerendercontrol.hh b/otk/truerendercontrol.hh index 72e3850e..36dbe244 100644 --- a/otk/truerendercontrol.hh +++ b/otk/truerendercontrol.hh @@ -4,33 +4,30 @@ #include "rendercontrol.hh" +#include + namespace otk { class TrueRenderControl : public RenderControl { private: + // the number of bits to shift a color value (from 0-255) to the right, to + // fit it into the the color mask (do this before the offset) + int _red_shift; + int _green_shift; + int _blue_shift; + // the offset of each color in a color mask int _red_offset; int _green_offset; int _blue_offset; - // 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; - - // 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]; - + virtual void reduceDepth(Surface &sf, XImage *im) const; + public: - TrueRenderControl(const ScreenInfo *screen); + TrueRenderControl(int screen); virtual ~TrueRenderControl(); - virtual void render(::Drawable d); + virtual void allocateColor(XColor *color) const; }; }