Add abstract class gMainDC as an interface for gFBDC and gSDLDC
[enigma2.git] / lib / gdi / gfbdc.h
index aad50f2b5d341d0e34d4490d8ccd1c6b30d3e0ed..7f76d0c96bbce3a256c1513f3383ae71d62ec13d 100644 (file)
@@ -3,18 +3,12 @@
 
 #include "fb.h"
 #include "gpixmap.h"
-#include "grc.h"
+#include "gmaindc.h"
 
-class gFBDC;
-
-SWIG_TEMPLATE_TYPEDEF(ePtr<gFBDC>, gFBDCPtr);
-
-class gFBDC: public gDC
+class gFBDC: public gMainDC
 {
-#ifndef SWIG
        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();
@@ -22,8 +16,8 @@ class gFBDC: public gDC
        gSurface surface, surface_back;
        int m_enable_double_buffering;
        int m_xres, m_yres;
-#endif
 public:
+       void setResolution(int xres, int yres);
        void reloadSettings();
        void setAlpha(int alpha);
        void setBrightness(int brightness);
@@ -35,13 +29,10 @@ 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; }
        int islocked() { return fb->islocked(); }
 };