X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fpseudorendercontrol.hh;h=603fc4baa6ea4ac6676a6c6e4b67f1ebca3ec569;hb=044c8ae416da315a7a111727c2f5dfc769c15125;hp=d834d5d773913e8632811a625e06ecec58a018ad;hpb=3147ad1a60db250b5b552a406dc33046d250cfea;p=chaz%2Fopenbox diff --git a/otk/pseudorendercontrol.hh b/otk/pseudorendercontrol.hh index d834d5d7..603fc4ba 100644 --- a/otk/pseudorendercontrol.hh +++ b/otk/pseudorendercontrol.hh @@ -4,32 +4,29 @@ #include "rendercontrol.hh" -extern "C" { - -#ifdef HAVE_STDINT_H -# include -#else -# ifdef HAVE_SYS_TYPES_H -# include -# endif -#endif - -} - -#include - namespace otk { class PseudoRenderControl : public RenderControl { private: - + // 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]; + + int _cpc; // colors-per-channel: must be a value between [2,6] + int _bpp; // bits-per-pixel + int _ncolors; // number of allocated colors, size of the XColor array + + XColor *_colors; + + virtual void reduceDepth(Surface &sf, XImage *im) const; + public: PseudoRenderControl(int screen); virtual ~PseudoRenderControl(); - virtual void drawBackground(Surface& sf, const RenderTexture &texture) const; - virtual void drawImage(Surface &sf, int w, int h, - unsigned long *data) const; }; }