just export gFBDC.getInstance and setResolution to python
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Sat, 10 Nov 2007 13:54:48 +0000 (13:54 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Sat, 10 Nov 2007 13:54:48 +0000 (13:54 +0000)
lib/gdi/gfbdc.cpp
lib/gdi/gfbdc.h
lib/gdi/grc.h
lib/python/enigma_python.i

index 02ebc4ff02134c1898d1b187124424bf4e6039f4..75efe891af5e82b4f9f0856c29d2636170d3cb36 100644 (file)
@@ -9,6 +9,13 @@
 
 gFBDC *gFBDC::instance;
 
+ePtr<gFBDC> NewgFBDCPtr(void)
+{
+       ePtr<gFBDC> ptr;
+       gFBDC::getInstance(ptr);
+       return ptr;
+}
+
 gFBDC::gFBDC()
 {
        instance=this;
index aad50f2b5d341d0e34d4490d8ccd1c6b30d3e0ed..23051c4f7207fc351142214c937a86147d06f410 100644 (file)
@@ -7,8 +7,7 @@
 
 class gFBDC;
 
-SWIG_TEMPLATE_TYPEDEF(ePtr<gFBDC>, gFBDCPtr);
-
+SWIG_IGNORE(gFBDC);
 class gFBDC: public gDC
 {
 #ifndef SWIG
@@ -22,8 +21,13 @@ class gFBDC: public gDC
        gSurface surface, surface_back;
        int m_enable_double_buffering;
        int m_xres, m_yres;
+#else
+       gFBDC();
+       virtual ~gFBDC();
 #endif
 public:
+       void setResolution(int xres, int yres);
+#ifndef SWIG
        void reloadSettings();
        void setAlpha(int alpha);
        void setBrightness(int brightness);
@@ -35,14 +39,21 @@ public:
 
        int haveDoubleBuffering() { return m_enable_double_buffering; }
 
-       void setResolution(int xres, int yres);
-
        void saveSettings();
 
        gFBDC();
        virtual ~gFBDC();
-       static SWIG_VOID(int) getInstance(ePtr<gFBDC> &SWIG_NAMED_OUTPUT(ptr)) { if (!instance) return -1; ptr = instance; return 0; }
+       static int getInstance(ePtr<gFBDC> &ptr) { if (!instance) return -1; ptr = instance; return 0; }
        int islocked() { return fb->islocked(); }
+#endif
 };
+SWIG_TEMPLATE_TYPEDEF(ePtr<gFBDC>, gFBDC);
+SWIG_EXTEND(ePtr<gFBDC>,
+       static ePtr<gFBDC> getInstance()
+       {
+               extern ePtr<gFBDC> NewgFBDCPtr(void);
+               return NewgFBDCPtr();
+       }
+);
 
 #endif
index 57d3dce4098e71006eca2ad5e67dbd2e7edbbb14..555f2ffb9485e6e0f1d0cfe5b8d12bf9450710de 100644 (file)
@@ -23,7 +23,6 @@
 #include <lib/gdi/region.h>
 #include <lib/gdi/gfont.h>
 
-#ifndef SWIG
 class eTextPara;
 
 class gDC;
@@ -256,12 +255,10 @@ public:
        void flip();
        void notify();
 };
-#endif
 
 class gDC: public iObject
 {
 DECLARE_REF(gDC);
-#ifndef SWIG
 protected:
        ePtr<gPixmap> m_pixmap;
 
@@ -279,9 +276,6 @@ protected:
        int m_spinner_num, m_spinner_i;
 public:
        virtual void exec(gOpcode *opcode);
-#else
-public:
-#endif
        gDC(gPixmap *pixmap);
        gDC();
        virtual ~gDC();
index ee5a13ba561d600eac52456249f5a02fa2342926..bc2d5503c5dd85e09c5fec36cf05be7a91d3d311 100644 (file)
@@ -50,7 +50,6 @@ is usually caused by not marking PSignals as immutable.
 #include <lib/gdi/fb.h>
 #include <lib/gdi/font.h>
 #include <lib/gdi/gpixmap.h>
-#include <lib/gdi/grc.h>
 #include <lib/gdi/gfbdc.h>
 #include <lib/gui/ewidget.h>
 #include <lib/gui/elabel.h>
@@ -165,7 +164,6 @@ typedef long time_t;
 %include <lib/gdi/fb.h>
 %include <lib/gdi/font.h>
 %include <lib/gdi/gpixmap.h>
-%include <lib/gdi/grc.h>
 %include <lib/gdi/gfbdc.h>
 %include <lib/gdi/epoint.h>
 %include <lib/gdi/erect.h>