]> Dogcows Code - chaz/openbox/blobdiff - otk/truerendercontrol.hh
split the move and resize on the client window
[chaz/openbox] / otk / truerendercontrol.hh
index fe79c003d28d56f93b4ca3ce8b258905b4b64612..e733a148f7ac4ea3186a3d24326deeeb74757c5d 100644 (file)
@@ -4,18 +4,71 @@
 
 #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 /* HAVE_STDINT_H */
+
+#ifdef WORDS_BIGENDIAN
+const int default_red_shift=0;
+const int default_green_shift=8;
+const int default_blue_shift=16;
+const int endian=MSBFirst;
+#else
+const int default_red_shift=16;
+const int default_green_shift=8;
+const int default_blue_shift=0;
+const int endian=LSBFirst;
+#endif /* WORDS_BIGENDIAN */
+
 class TrueRenderControl : public RenderControl {
 private:
+  // 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;
 
+  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;
+  virtual void drawGradientBackground(Surface &sf,
+                                      const RenderTexture &texture) const;
+  
 public:
-  TrueRenderControl(const ScreenInfo *screen);
+  TrueRenderControl(int screen);
   virtual ~TrueRenderControl();
+
+  virtual void drawBackground(Surface& sf, const RenderTexture &texture) const;
 };
 
 }
This page took 0.025107 seconds and 4 git commands to generate.