- add double buffering, flip, sync grc opcode, add render-idle-notify.\n - add ...
[enigma2.git] / lib / gdi / accel.h
diff --git a/lib/gdi/accel.h b/lib/gdi/accel.h
new file mode 100644 (file)
index 0000000..63d3bf3
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef __lib_gdi_accel_h
+#define __lib_gdi_accel_h
+
+struct gSurface;
+class eRect;
+class ePoint;
+
+class gAccel
+{
+public:
+       static gAccel* getInstance();
+       gAccel();
+       ~gAccel(); 
+       
+       void setAccelMemorySpace(void *addr, int phys_addr, int size);
+       
+       int blit(gSurface *dst, const gSurface *src, const ePoint &p, const eRect &area, int flags);
+       int fill(gSurface *dst, const eRect &area, unsigned long col);
+       
+       int accelAlloc(void *&addr, int &phys_addr, int size);
+       void accelFree(int phys_addr);
+private:
+       void *m_accel_addr;
+       int m_accel_phys_addr;
+       int m_accel_size; // in blocks
+       int *m_accel_allocation;
+       
+       static gAccel *instance;
+};
+
+#endif