X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fsurface.hh;h=a44b9049740820e098fa5fb39cdf6deb9decabbc;hb=a91a6f97daeb058f346246081e1c83a788787f9b;hp=40dfbf84cee43747b433e1ebbc7604978a116a63;hpb=58847af218e486f5c1a34ffe947a961a74f97c0a;p=chaz%2Fopenbox diff --git a/otk/surface.hh b/otk/surface.hh index 40dfbf84..a44b9049 100644 --- a/otk/surface.hh +++ b/otk/surface.hh @@ -34,6 +34,18 @@ 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 Surface { int _screen; Size _size; @@ -60,6 +72,10 @@ public: pixel32 *pixelData() { return _pixel_data; } + //! Frees the pixel data when it will no longer be needed. Only do this once + //! you have completed rendering onto the surface. + void freePixelData(); + // The RenderControl classes use the internal objects in this class to render // to it. Noone else needs them tho, so they are private. friend class RenderControl;