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;
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();
};