]> Dogcows Code - chaz/openbox/blobdiff - otk/truerendercontrol.hh
properly support "cross endian" configurations
[chaz/openbox] / otk / truerendercontrol.hh
index 7da6f8be3671b708d26be19bcd533ae67d3f3edf..3a5d3e5aa3847e8ce54f297e54e6e0f7e2205ffb 100644 (file)
@@ -26,7 +26,17 @@ typedef uint16_t pixel16;
 #else
 typedef u_int32_t pixel32;
 typedef u_int16_t pixel16;
-#endif
+#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:
@@ -51,6 +61,12 @@ public:
 
   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.022795 seconds and 4 git commands to generate.