summaryrefslogtreecommitdiff
path: root/otk/rendercontrol.hh
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-01-18 00:33:48 +0000
committerDana Jansens <danakj@orodu.net>2003-01-18 00:33:48 +0000
commit0dcbf985c11c850b30b2983e1e20cd8cf033f054 (patch)
tree665cc076435ccedee0163f28d3e0d0b95b44a695 /otk/rendercontrol.hh
parent29f331b63fa9d800fd99d8e1ea99fffa91a4b663 (diff)
start of new render code
Diffstat (limited to 'otk/rendercontrol.hh')
-rw-r--r--otk/rendercontrol.hh60
1 files changed, 60 insertions, 0 deletions
diff --git a/otk/rendercontrol.hh b/otk/rendercontrol.hh
new file mode 100644
index 00000000..cc05a319
--- /dev/null
+++ b/otk/rendercontrol.hh
@@ -0,0 +1,60 @@
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
+#ifndef __rendercontrol_hh
+#define __rendercontrol_hh
+
+extern "C" {
+#include <X11/Xlib.h>
+}
+
+namespace otk {
+
+class ScreenInfo;
+
+class RenderControl {
+protected:
+ const ScreenInfo *_screen;
+/*
+ Bool _dither;
+
+ int _cpc; // colors-per-channel: must be a value between [2,6]
+ int _bpp; // bits-per-pixel
+
+ unsigned int *_grad_xbuffer;
+ unsigned int *_grad_ybuffer;
+ unsigned int _grad_buffer_width;
+ unsigned int _grad_buffer_height;
+
+ unsigned long *_sqrt_table;
+
+ // These values are all determined based on a visual
+
+ int _red_bits; // the number of bits (1-255) that each shade of color
+ int _green_bits; // spans across. best case is 1, which gives 255 shades.
+ int _blue_bits;
+ unsigned char _red_color_table[256];
+ unsigned char _green_color_table[256];
+ unsigned char _blue_color_table[256];
+
+ // These are only used for TrueColor visuals
+ int _red_offset; // the offset of each color in a color mask
+ int _green_offset;
+ int _blue_offset;
+
+ // These are only used for !TrueColor visuals
+ XColor *_colors;
+ int _ncolors;
+*/
+
+ RenderControl(const ScreenInfo *screen);
+
+public:
+ virtual ~RenderControl();
+
+ static RenderControl *getRenderControl(int screen);
+
+ virtual void render(::Drawable d) = 0;
+};
+
+}
+
+#endif // __rendercontrol_hh