diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-02-11 21:50:06 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-02-11 21:50:06 +0000 |
| commit | 58847af218e486f5c1a34ffe947a961a74f97c0a (patch) | |
| tree | 99effbba133c3d8d139b2c334cc7360bac872b7e /otk/surface.hh | |
| parent | e429ce39deaf4a8d5975e871af0530634ea2a63e (diff) | |
store the pixel32 data in the surface so it can be reused
Diffstat (limited to 'otk/surface.hh')
| -rw-r--r-- | otk/surface.hh | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/otk/surface.hh b/otk/surface.hh index 7a202491..40dfbf84 100644 --- a/otk/surface.hh +++ b/otk/surface.hh @@ -3,23 +3,41 @@ #define __surface_hh #include "size.hh" -#include "truerendercontrol.hh" -#include "pseudorendercontrol.hh" extern "C" { #include <X11/Xlib.h> #define _XFT_NO_COMPAT_ // no Xft 1 API #include <X11/Xft/Xft.h> + +#ifdef HAVE_STDINT_H +# include <stdint.h> +#else +# ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +# endif +#endif } namespace otk { class ScreenInfo; class RenderColor; +class RenderControl; +class TrueRenderControl; +class PseudoRenderControl; + +#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 */ class Surface { int _screen; Size _size; + pixel32 *_pixel_data; Pixmap _pixmap; XftDraw *_xftdraw; @@ -36,9 +54,11 @@ public: inline int screen(void) const { return _screen; } - virtual const Size& size() const { return _size; } + const Size& size() const { return _size; } + + Pixmap pixmap() const { return _pixmap; } - virtual Pixmap pixmap() const { return _pixmap; } + pixel32 *pixelData() { return _pixel_data; } // The RenderControl classes use the internal objects in this class to render // to it. Noone else needs them tho, so they are private. |
