X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=otk%2Frendercontrol.hh;h=52d80c526d1a76cc1c78403615e2eb54e8593f06;hb=72ff846dbb56ec36231fb761b864da09885d3690;hp=c8e74b19c1b0a59c49dba598269fa44fcffe9f82;hpb=2808ab5bad8ff49a1af909c2515288310cc89378;p=chaz%2Fopenbox diff --git a/otk/rendercontrol.hh b/otk/rendercontrol.hh index c8e74b19..52d80c52 100644 --- a/otk/rendercontrol.hh +++ b/otk/rendercontrol.hh @@ -65,9 +65,17 @@ protected: 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,8 +88,17 @@ 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 + /*! + This function will overwrite the entire surface.
+ 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; + //! Draws a string onto a Surface virtual void drawString(Surface &sf, const Font &font, int x, int y, const RenderColor &color,