X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5..5f60d706ff61b12a54b4ca0cd94d0cd9cb131404:/lib/gdi/gfbdc.h diff --git a/lib/gdi/gfbdc.h b/lib/gdi/gfbdc.h index f975fb5f..23051c4f 100644 --- a/lib/gdi/gfbdc.h +++ b/lib/gdi/gfbdc.h @@ -5,8 +5,12 @@ #include "gpixmap.h" #include "grc.h" -class gFBDC: public gPixmapDC +class gFBDC; + +SWIG_IGNORE(gFBDC); +class gFBDC: public gDC { +#ifndef SWIG fbClass *fb; static gFBDC *instance; void exec(gOpcode *opcode); @@ -14,22 +18,42 @@ class gFBDC: public gPixmapDC int brightness, gamma, alpha; void calcRamp(); void setPalette(); + 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); void setGamma(int gamma); - + int getAlpha() { return alpha; } int getBrightness() { return brightness; } int getGamma() { return gamma; } - + + int haveDoubleBuffering() { return m_enable_double_buffering; } + void saveSettings(); - + gFBDC(); - ~gFBDC(); - static gFBDC *getInstance(); + virtual ~gFBDC(); + 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