X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Ftruerendercontrol.hh;h=a4735c8fbdb0b54728cbea7b8b6937c256d4f546;hb=707f70682abe0dfaadbf76843a0dccb33f0eaeda;hp=dfa0aa34226401004bf2a35fefd3a4fde3c447a3;hpb=a4dd208a7955e25bca710d4bcf355de7e608b9e1;p=chaz%2Fopenbox diff --git a/otk/truerendercontrol.hh b/otk/truerendercontrol.hh index dfa0aa34..a4735c8f 100644 --- a/otk/truerendercontrol.hh +++ b/otk/truerendercontrol.hh @@ -4,27 +4,50 @@ #include "rendercontrol.hh" +extern "C" { + +#ifdef HAVE_STDINT_H +# include +#else +# ifdef HAVE_SYS_TYPES_H +# include +# endif +#endif + +} + +#include + namespace otk { +#ifdef HAVE_STDINT_H +typedef uint32_t pixel32; +#else +typedef u_int32_t pixel32; +#endif + class TrueRenderControl : public RenderControl { private: - // the offset of each color in a color mask - int _red_offset; - int _green_offset; - int _blue_offset; - - // the number of bits to shift a color value (from 0-255) to fit it into the - // the color mask + // 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; public: - TrueRenderControl(const ScreenInfo *screen); + TrueRenderControl(int screen); virtual ~TrueRenderControl(); - virtual void drawBackground(Surface *sf, const RenderTexture &texture) const; + virtual void drawBackground(Surface& sf, const RenderTexture &texture) const; + virtual void drawGradientBackground(Surface &sf, + const RenderTexture &texture) const; + + inline void highlight(pixel32 *x, pixel32 *y, bool raised) const; }; }