]> Dogcows Code - chaz/openbox/blobdiff - otk/truerendercontrol.hh
Added diagonal and crossdiagonal gradients
[chaz/openbox] / otk / truerendercontrol.hh
index b85a7cc2e83f35cb529b7a720f5c36e1ba5afda1..64559d12e8e00d3c6f0382a86be9ab33f71c44bd 100644 (file)
@@ -4,10 +4,30 @@
 
 #include "rendercontrol.hh"
 
+extern "C" {
+
+#ifdef HAVE_STDINT_H
+#  include <stdint.h>
+#else
+#  ifdef HAVE_SYS_TYPES_H
+#    include <sys/types.h>
+#  endif
+#endif
+
+}
+
 #include <vector>
 
 namespace otk {
 
+#ifdef HAVE_STDINT_H
+typedef uint32_t pixel32;
+typedef uint16_t pixel16;
+#else
+typedef u_int32_t pixel32;
+typedef u_int16_t pixel16;
+#endif
+
 class TrueRenderControl : public RenderControl {
 private:
   // the number of bits to shift a color value (from 0-255) to the right, to
@@ -26,6 +46,17 @@ public:
   virtual ~TrueRenderControl();
 
   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;
 };
 
 }
This page took 0.020568 seconds and 4 git commands to generate.