X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/77c45c9d2cabd3c1dc028c41d26573ac62147a34..8f01a41693ff4b01a224e9ea2f9a26538ec20414:/lib/gdi/gpixmap.h diff --git a/lib/gdi/gpixmap.h b/lib/gdi/gpixmap.h index f29a0fe7..8ea12574 100644 --- a/lib/gdi/gpixmap.h +++ b/lib/gdi/gpixmap.h @@ -88,31 +88,33 @@ 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(); }; -struct gPixmap: public iObject +class gPixmap: public iObject { +private: DECLARE_REF(gPixmap); private: friend class gDC; void fill(const gRegion &clip, const gColor &color); - enum - { - blitAlphaTest=1 - }; 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); public: + enum + { + blitAlphaTest=1, + blitAlphaBlend=2 + }; + gSurface *surface; eLock contentlock; @@ -121,10 +123,10 @@ public: gPixmap *lock(); void unlock(); - eSize getSize() const { return eSize(surface->x, surface->y); } + eSize size() const { return eSize(surface->x, surface->y); } gPixmap(gSurface *surface); - gPixmap(eSize, int bpp); + gPixmap(eSize, int bpp, int accel = 0); virtual ~gPixmap(); };