X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Ftruerendercontrol.hh;h=a1bc47dcc2e8c467d0113da2e6f9780a5f5f106b;hb=555facb9c737be20cd923abc15875af0281a8927;hp=4012a008532e8aed3db3c5efe4f14c2612f36329;hpb=9f705c02b9c412c053fc12a2ebdc5cebe83400c8;p=chaz%2Fopenbox diff --git a/otk/truerendercontrol.hh b/otk/truerendercontrol.hh index 4012a008..a1bc47dc 100644 --- a/otk/truerendercontrol.hh +++ b/otk/truerendercontrol.hh @@ -4,20 +4,36 @@ #include "rendercontrol.hh" +#include + 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; + inline void highlight(pixel32 *x, pixel32 *y, bool raised) const; + void reduceDepth(Surface &sf, XImage *im) 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; + public: - TrueRenderControl(const ScreenInfo *screen); + TrueRenderControl(int screen); virtual ~TrueRenderControl(); - virtual void render(Surface *sf); + virtual void drawBackground(Surface& sf, const RenderTexture &texture) const; }; }