X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/df39d616cc296948524d227116bb82e7a7e3eb1b..7fe27f601f70eddb3019e22cbdb8388c05d3af7e:/lib/gdi/gpixmap.h diff --git a/lib/gdi/gpixmap.h b/lib/gdi/gpixmap.h index bd7c61a0..bd537164 100644 --- a/lib/gdi/gpixmap.h +++ b/lib/gdi/gpixmap.h @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include @@ -88,27 +89,17 @@ struct gSurface gPalette clut; void *data; - virtual ~gSurface(); -}; + int data_phys; + int offset; // only for backbuffers -struct gSurfaceSystem: gSurface -{ - gSurfaceSystem(eSize size, int bpp); - ~gSurfaceSystem(); + gSurface(); + gSurface(eSize size, int bpp, int accel); + ~gSurface(); }; class gPixmap: public iObject { -private: -DECLARE_REF(gPixmap); -private: - friend class gDC; - void fill(const gRegion &clip, const gColor &color); - - void blit(const gPixmap &src, ePoint pos, const gRegion &clip, int flags=0); - - void mergePalette(const gPixmap &target); - void line(const gRegion &clip, ePoint start, ePoint end, gColor color); + DECLARE_REF(gPixmap); public: enum { @@ -116,6 +107,10 @@ public: blitAlphaBlend=2 }; +#ifndef SWIG + gPixmap(gSurface *surface); + gPixmap(eSize, int bpp, int accel = 0); + gSurface *surface; eLock contentlock; @@ -123,12 +118,24 @@ public: gPixmap *lock(); void unlock(); +#endif + virtual ~gPixmap(); eSize size() const { return eSize(surface->x, surface->y); } - gPixmap(gSurface *surface); - gPixmap(eSize, int bpp); - virtual ~gPixmap(); +private: +#ifndef SWIG + friend class gDC; + void fill(const gRegion &clip, const gColor &color); + + void blit(const gPixmap &src, ePoint pos, const gRegion &clip, int flags=0); + + void mergePalette(const gPixmap &target); + void line(const gRegion &clip, ePoint start, ePoint end, gColor color); +#else + gPixmap(); +#endif + }; TEMPLATE_TYPEDEF(ePtr, gPixmapPtr);