From 9daf6014a224d717fa423130a8e04acd461efc24 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Sat, 10 Nov 2007 13:54:48 +0000 Subject: [PATCH 1/1] just export gFBDC.getInstance and setResolution to python --- lib/gdi/gfbdc.cpp | 7 +++++++ lib/gdi/gfbdc.h | 21 ++++++++++++++++----- lib/gdi/grc.h | 6 ------ lib/python/enigma_python.i | 2 -- 4 files changed, 23 insertions(+), 13 deletions(-) diff --git a/lib/gdi/gfbdc.cpp b/lib/gdi/gfbdc.cpp index 02ebc4ff..75efe891 100644 --- a/lib/gdi/gfbdc.cpp +++ b/lib/gdi/gfbdc.cpp @@ -9,6 +9,13 @@ gFBDC *gFBDC::instance; +ePtr NewgFBDCPtr(void) +{ + ePtr ptr; + gFBDC::getInstance(ptr); + return ptr; +} + gFBDC::gFBDC() { instance=this; diff --git a/lib/gdi/gfbdc.h b/lib/gdi/gfbdc.h index aad50f2b..23051c4f 100644 --- a/lib/gdi/gfbdc.h +++ b/lib/gdi/gfbdc.h @@ -7,8 +7,7 @@ class gFBDC; -SWIG_TEMPLATE_TYPEDEF(ePtr, 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 &SWIG_NAMED_OUTPUT(ptr)) { if (!instance) return -1; ptr = instance; return 0; } + static int getInstance(ePtr &ptr) { if (!instance) return -1; ptr = instance; return 0; } int islocked() { return fb->islocked(); } +#endif }; +SWIG_TEMPLATE_TYPEDEF(ePtr, gFBDC); +SWIG_EXTEND(ePtr, + static ePtr getInstance() + { + extern ePtr NewgFBDCPtr(void); + return NewgFBDCPtr(); + } +); #endif diff --git a/lib/gdi/grc.h b/lib/gdi/grc.h index 57d3dce4..555f2ffb 100644 --- a/lib/gdi/grc.h +++ b/lib/gdi/grc.h @@ -23,7 +23,6 @@ #include #include -#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 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(); diff --git a/lib/python/enigma_python.i b/lib/python/enigma_python.i index ee5a13ba..bc2d5503 100644 --- a/lib/python/enigma_python.i +++ b/lib/python/enigma_python.i @@ -50,7 +50,6 @@ is usually caused by not marking PSignals as immutable. #include #include #include -#include #include #include #include @@ -165,7 +164,6 @@ typedef long time_t; %include %include %include -%include %include %include %include -- 2.30.2