X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Frendercontrol.hh;h=72ad176fa1b6b87459279e8c078df9e547b8f102;hb=1e58c863bbaddd2f2dbebfde740ca842e8837a1c;hp=49395c58fffb88231e3e9bfaad106f65d0b3de2f;hpb=aceea3c0814778317be7a903f63b8363d2b1b0ef;p=chaz%2Fopenbox diff --git a/otk/rendercontrol.hh b/otk/rendercontrol.hh index 49395c58..72ad176f 100644 --- a/otk/rendercontrol.hh +++ b/otk/rendercontrol.hh @@ -22,52 +22,21 @@ class RenderControl { protected: int _screen; - /* - // 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]; - */ - -/* - 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; -*/ +// bool _dither; RenderControl(int screen); + virtual void reduceDepth(Surface &sf, XImage *im) const = 0; + + inline void highlight(pixel32 *x, pixel32 *y, bool raised) const; + void verticalGradient(Surface &sf, const RenderTexture &texture) const; + void diagonalGradient(Surface &sf, const RenderTexture &texture) const; + void crossDiagonalGradient(Surface &sf, const RenderTexture &texture) const; + virtual void drawGradientBackground(Surface &sf, + const RenderTexture &texture) const; virtual void drawSolidBackground(Surface& sf, const RenderTexture& texture) const; - + public: virtual ~RenderControl(); @@ -80,7 +49,7 @@ public: This function will overwrite the entire surface. */ virtual void drawBackground(Surface &sf, - const RenderTexture &texture) const = 0; + const RenderTexture &texture) const; //! Draws an image onto the surface /*! @@ -88,7 +57,8 @@ public: The image must be specified in 32-bit packed ARGB format. The current background will be used for applying the alpha. */ - virtual void drawImage(Surface &sf, int w, int h, unsigned long *data) const; + virtual void drawImage(Surface &sf, int w, int h, + unsigned long *data) const; //! Draws a string onto a Surface virtual void drawString(Surface &sf, const Font &font, int x, int y,