Add abstract class gMainDC as an interface for gFBDC and gSDLDC
[enigma2.git] / lib / gdi / gfbdc.h
index 0b0372d3222a0be697efeac068079ebe9a6880fa..7f76d0c96bbce3a256c1513f3383ae71d62ec13d 100644 (file)
@@ -3,35 +3,37 @@
 
 #include "fb.h"
 #include "gpixmap.h"
-#include "grc.h"
+#include "gmaindc.h"
 
-class gFBDC: public gDC
+class gFBDC: public gMainDC
 {
        fbClass *fb;
-       static gFBDC *instance;
-       void exec(gOpcode *opcode);
+       void exec(const gOpcode *opcode);
        unsigned char ramp[256], rampalpha[256]; // RGB ramp 0..255
        int brightness, gamma, alpha;
        void calcRamp();
        void setPalette();
-       gSurface surface;
+       gSurface surface, surface_back;
+       int m_enable_double_buffering;
+       int m_xres, m_yres;
 public:
+       void setResolution(int xres, int yres);
        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();
        int islocked() { return fb->islocked(); }
 };
 
-
 #endif