add a small ipkg upgrade plugin
[enigma2.git] / lib / gdi / gpixmap.h
index bd7c61a..bd53716 100644 (file)
@@ -4,6 +4,7 @@
 #include <pthread.h>
 #include <string>
 #include <lib/base/object.h>
+#include <lib/base/smartptr.h>
 #include <lib/base/elock.h>
 #include <lib/gdi/erect.h>
 #include <lib/gdi/fb.h>
@@ -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<gPixmap>, gPixmapPtr);