X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d6f6602d7cea3a7899990fe79216af7d98d05917..06578d6778bff8aa2bd6a2387651dd0ba55aa27c:/lib/gdi/gfbdc.h diff --git a/lib/gdi/gfbdc.h b/lib/gdi/gfbdc.h index 0b0372d3..23051c4f 100644 --- a/lib/gdi/gfbdc.h +++ b/lib/gdi/gfbdc.h @@ -5,8 +5,12 @@ #include "gpixmap.h" #include "grc.h" +class gFBDC; + +SWIG_IGNORE(gFBDC); class gFBDC: public gDC { +#ifndef SWIG fbClass *fb; static gFBDC *instance; void exec(gOpcode *opcode); @@ -14,24 +18,42 @@ class gFBDC: public gDC int brightness, gamma, alpha; void calcRamp(); void setPalette(); - gSurface surface; + 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