X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Ftruerendercontrol.hh;h=3a5d3e5aa3847e8ce54f297e54e6e0f7e2205ffb;hb=1c61a333db13c70c679b0b4bbb4f1b7cdb26cb8f;hp=e4975aeb002250478753faf1fbcbae5eb93b02ca;hpb=31c20197e585bee0d48a7643bf73a0b358ad6297;p=chaz%2Fopenbox diff --git a/otk/truerendercontrol.hh b/otk/truerendercontrol.hh index e4975aeb..3a5d3e5a 100644 --- a/otk/truerendercontrol.hh +++ b/otk/truerendercontrol.hh @@ -22,9 +22,21 @@ namespace otk { #ifdef HAVE_STDINT_H typedef uint32_t pixel32; +typedef uint16_t pixel16; #else typedef u_int32_t pixel32; -#endif +typedef u_int16_t pixel16; +#endif /* HAVE_STDINT_H */ + +#ifdef WORDS_BIGENDIAN +const int default_red_shift=0; +const int default_green_shift=8; +const int default_blue_shift=16; +#else +const int default_red_shift=16; +const int default_green_shift=8; +const int default_blue_shift=0; +#endif /* WORDS_BIGENDIAN */ class TrueRenderControl : public RenderControl { private: @@ -46,6 +58,15 @@ public: 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; + void reduceDepth(XImage *im, pixel32 *data) const; + void verticalGradient(Surface &sf, const RenderTexture &texture, + pixel32 *data) const; + void diagonalGradient(Surface &sf, const RenderTexture &texture, + pixel32 *data) const; + void crossDiagonalGradient(Surface &sf, const RenderTexture &texture, + pixel32 *data) const; }; }