fix
[enigma2.git] / lib / gdi / gfbdc.h
1 #ifndef __gfbdc_h
2 #define __gfbdc_h
3
4 #include "fb.h"
5 #include "gpixmap.h"
6 #include "grc.h"
7
8 class gFBDC: public gDC
9 {
10         fbClass *fb;
11         static gFBDC *instance;
12         void exec(gOpcode *opcode);
13         unsigned char ramp[256], rampalpha[256]; // RGB ramp 0..255
14         int brightness, gamma, alpha;
15         void calcRamp();
16         void setPalette();
17         gSurface surface, surface_back;
18         int m_enable_double_buffering;
19 public:
20         void reloadSettings();
21         void setAlpha(int alpha);
22         void setBrightness(int brightness);
23         void setGamma(int gamma);
24         
25         int getAlpha() { return alpha; }
26         int getBrightness() { return brightness; }
27         int getGamma() { return gamma; }
28         
29         int haveDoubleBuffering() { return m_enable_double_buffering; }
30         
31         void saveSettings();
32         
33         gFBDC();
34         virtual ~gFBDC();
35         static int getInstance(ePtr<gFBDC> &ptr) { if (!instance) return -1; ptr = instance; return 0; }
36         int islocked() { return fb->islocked(); }
37 };
38
39
40 #endif