start of new render code
[mikachu/openbox.git] / otk / truerendercontrol.hh
1 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
2 #ifndef __truerendercontrol_hh
3 #define __truerendercontrol_hh
4
5 #include "rendercontrol.hh"
6
7 namespace otk {
8
9 class TrueRenderControl : public RenderControl {
10 private:
11   // the offset of each color in a color mask
12   int _red_offset;
13   int _green_offset;
14   int _blue_offset;
15
16   // the number of bits (1-255) that each shade of color spans across. best
17   // case is 1, which gives 255 shades
18   int _red_bits;
19   int _green_bits;
20   int _blue_bits;
21
22   // color tables, meaning, 256 (possibly) different shades of each color,
23   // based on the number of bits there are available for each color in the
24   // visual
25   unsigned char _red_color_table[256];
26   unsigned char _green_color_table[256];
27   unsigned char _blue_color_table[256];
28   
29 public:
30   TrueRenderControl(const ScreenInfo *screen);
31   virtual ~TrueRenderControl();
32
33   virtual void render(::Drawable d);
34 };
35
36 }
37
38 #endif // __truerendercontrol_hh