#include "rendercontrol.hh"
+#include <vector>
+
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);
};
}