patch by Pieter Grimmerink: use ext3 largefile option only for disks > 4G
[enigma2.git] / lib / gdi / gpixmap.h
index 7158e26989b6e72c1eba4cb7911f7de4468d9695..e3798bf72fd27ef9d1b940eea88aa422b6067105 100644 (file)
@@ -8,20 +8,6 @@
 #include <lib/base/elock.h>
 #include <lib/gdi/erect.h>
 #include <lib/gdi/fb.h>
-#include <lib/gdi/region.h>
-
-struct gColor
-{
-       int color;
-       gColor(int color): color(color)
-       {
-       }
-       gColor(): color(0)
-       {
-       }
-       operator int() const { return color; }
-       bool operator==(const gColor &o) const { return o.color==color; }
-};
 
 struct gRGB
 {
@@ -35,12 +21,12 @@ struct gRGB
        gRGB(): b(0), g(0), r(0), a(0)
        {
        }
-       
+
        unsigned long argb() const
        {
                return (a<<24)|(r<<16)|(g<<8)|b;
        }
-       
+
        void operator=(unsigned long val)
        {
                b = val&0xFF;
@@ -72,6 +58,20 @@ struct gRGB
        }
 };
 
+#ifndef SWIG
+struct gColor
+{
+       int color;
+       gColor(int color): color(color)
+       {
+       }
+       gColor(): color(0)
+       {
+       }
+       operator int() const { return color; }
+       bool operator==(const gColor &o) const { return o.color==color; }
+};
+
 struct gPalette
 {
        int start, colors;
@@ -103,18 +103,22 @@ struct gSurface
        gSurface(eSize size, int bpp, int accel);
        ~gSurface();
 };
+#endif
+
+class gRegion;
 
+SWIG_IGNORE(gPixmap);
 class gPixmap: public iObject
 {
        DECLARE_REF(gPixmap);
 public:
+#ifndef SWIG
        enum
        {
                blitAlphaTest=1,
                blitAlphaBlend=2
        };
 
-#ifndef SWIG
        gPixmap(gSurface *surface);
        gPixmap(eSize, int bpp, int accel = 0);
 
@@ -125,13 +129,12 @@ public:
        
        gPixmap *lock();
        void unlock();
+       inline bool needClut() const { return surface && surface->bpp <= 8; }
 #endif
        virtual ~gPixmap();
-       
        eSize size() const { return eSize(surface->x, surface->y); }
-       inline bool needClut() const { return surface && surface->bpp <= 8; }
 private:
-#ifndef SWIG
+       bool must_delete_surface;
        friend class gDC;
        void fill(const gRegion &clip, const gColor &color);
        void fill(const gRegion &clip, const gRGB &color);
@@ -140,12 +143,10 @@ private:
        
        void mergePalette(const gPixmap &target);
        void line(const gRegion &clip, ePoint start, ePoint end, gColor color);
-#else
+#ifdef SWIG
        gPixmap();
 #endif
-
 };
-
-TEMPLATE_TYPEDEF(ePtr<gPixmap>, gPixmapPtr);
+SWIG_TEMPLATE_TYPEDEF(ePtr<gPixmap>, gPixmapPtr);
 
 #endif