remove some unneeded wrapper code
[enigma2.git] / lib / gdi / gpixmap.h
index bd53716441d2f6d49b60510a6b61ed6d5458ad0b..cc2a4cf41e39a6dd8e12c623d2be85ff44ea1741 100644 (file)
@@ -9,6 +9,7 @@
 #include <lib/gdi/erect.h>
 #include <lib/gdi/fb.h>
 
+#ifndef SWIG
 struct gColor
 {
        int color;
@@ -34,6 +35,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;
@@ -96,6 +103,9 @@ struct gSurface
        gSurface(eSize size, int bpp, int accel);
        ~gSurface();
 };
+#endif
+
+class gRegion;
 
 class gPixmap: public iObject
 {
@@ -122,11 +132,13 @@ public:
        virtual ~gPixmap();
        
        eSize size() const { return eSize(surface->x, surface->y); }
-       
+       inline bool needClut() const { return surface && surface->bpp <= 8; }
 private:
+       bool must_delete_surface;
 #ifndef SWIG
        friend class gDC;
        void fill(const gRegion &clip, const gColor &color);
+       void fill(const gRegion &clip, const gRGB &color);
        
        void blit(const gPixmap &src, ePoint pos, const gRegion &clip, int flags=0);