get physical address from framebuffer device
[enigma2.git] / lib / gdi / fb.h
index f29c859573e0a9c02a786b52cae1740777ddc4ee..54473805256b893103fc05733d3db52e82e35d56 100644 (file)
@@ -1,8 +1,8 @@
 #ifndef __FB_H
 #define __FB_H
 
-#include <linux/fb.h>
 #include <lib/base/eerror.h>
+#include <linux/fb.h>
 
 class fbClass
 {
@@ -14,24 +14,40 @@ class fbClass
        __u16 red[256], green[256], blue[256], trans[256];
        static fbClass *instance;
        int locked;
-       
+
+       int m_manual_blit;
+       int m_number_of_pages;
+       int m_phys_mem;
+#ifdef SWIG
+       fbClass(const char *fb="/dev/fb/0");
+       ~fbClass();
+public:
+#else
 public:
        unsigned char *lfb;
+       void enableManualBlit();
+       void disableManualBlit();
        int showConsole(int state);
        int SetMode(unsigned int xRes, unsigned int yRes, unsigned int bpp);
        int Available() { return available; }
+       
+       int getNumPages() { return m_number_of_pages; }
+       
+       unsigned long getPhysAddr() { return m_phys_mem; }
+       
        int setOffset(int off);
        int waitVSync();
+       void blit();
        unsigned int Stride() { return stride; }
        fb_cmap *CMAP() { return &cmap; }
 
        fbClass(const char *fb="/dev/fb/0");
        ~fbClass();
        
-       static fbClass *getInstance();
-
-                               // low level gfx stuff
+                       // low level gfx stuff
        int PutCMAP();
+#endif
+       static fbClass *getInstance();
 
        int lock();
        void unlock();