1 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
2 #ifndef __rendercontrol_hh
3 #define __rendercontrol_hh
27 RenderControl(int screen);
29 virtual void reduceDepth(Surface &sf, XImage *im) const = 0;
31 inline void highlight(pixel32 *x, pixel32 *y, bool raised) const;
32 void verticalGradient(Surface &sf, const RenderTexture &texture) const;
33 void diagonalGradient(Surface &sf, const RenderTexture &texture) const;
34 void crossDiagonalGradient(Surface &sf, const RenderTexture &texture) const;
35 virtual void drawGradientBackground(Surface &sf,
36 const RenderTexture &texture) const;
37 virtual void drawSolidBackground(Surface& sf,
38 const RenderTexture& texture) const;
41 virtual ~RenderControl();
43 static RenderControl *getRenderControl(int screen);
45 virtual void drawRoot(const RenderColor &color) const;
47 //! Draws a background onto a Surface, as specified by a RenderTexture
49 This function will overwrite the entire surface.
51 virtual void drawBackground(Surface &sf,
52 const RenderTexture &texture) const;
54 //! Draws an image onto the surface
56 This function will overwrite the entire surface.<br>
57 The image must be specified in 32-bit packed ARGB format. The current
58 background will be used for applying the alpha.
60 virtual void drawImage(Surface &sf, int w, int h,
61 unsigned long *data) const;
63 //! Draws a string onto a Surface
64 virtual void drawString(Surface &sf, const Font &font, int x, int y,
65 const RenderColor &color,
66 const ustring &string) const;
68 //! Draws a PixmapMask with a specified color onto a Surface
69 virtual void drawMask(Surface &sf, const RenderColor &color,
70 const PixmapMask &mask) const;
75 #endif // __rendercontrol_hh