Extrenal srt problem gst-1 solved.
[openblackhole/openblackhole-enigma2.git] / lib / gdi / fb.h
1 #ifndef __FB_H
2 #define __FB_H
3
4 #include <lib/base/eerror.h>
5 #include <linux/fb.h>
6
7 class fbClass
8 {
9         int fbFd;
10         int xRes, yRes, stride, bpp;
11         int available;
12         struct fb_var_screeninfo screeninfo;
13         fb_cmap cmap;
14         uint16_t red[256], green[256], blue[256], trans[256];
15         static fbClass *instance;
16         int locked;
17
18         int m_manual_blit;
19         int m_number_of_pages;
20         int m_phys_mem;
21 #ifdef SWIG
22         fbClass(const char *fb="/dev/fb0");
23         ~fbClass();
24 public:
25 #else
26 public:
27         unsigned char *lfb;
28         void enableManualBlit();
29         void disableManualBlit();
30         int showConsole(int state);
31         int SetMode(int xRes, int yRes, int bpp);
32         void getMode(int &xres, int &yres, int &bpp);
33         int Available() { return available; }
34
35         int getNumPages() { return m_number_of_pages; }
36
37         unsigned long getPhysAddr() { return m_phys_mem; }
38
39         int setOffset(int off);
40         int waitVSync();
41         void blit();
42         unsigned int Stride() { return stride; }
43         fb_cmap *CMAP() { return &cmap; }
44
45         fbClass(const char *fb="/dev/fb0");
46         ~fbClass();
47
48                         // low level gfx stuff
49         int PutCMAP();
50 #endif
51         static fbClass *getInstance();
52
53         int lock();
54         void unlock();
55         int islocked() { return locked; }
56 };
57
58 #endif