Merge branch 'experimental' of git.opendreambox.org:/git/enigma2 into experimental
[enigma2.git] / lib / gdi / accel.h
1 #ifndef __lib_gdi_accel_h
2 #define __lib_gdi_accel_h
3
4 struct gSurface;
5 class eRect;
6 class ePoint;
7
8 class gAccel
9 {
10 public:
11         static gAccel* getInstance();
12         gAccel();
13         ~gAccel(); 
14         
15         void setAccelMemorySpace(void *addr, int phys_addr, int size);
16         
17         int blit(gSurface *dst, const gSurface *src, const eRect &p, const eRect &area, int flags);
18         int fill(gSurface *dst, const eRect &area, unsigned long col);
19         
20         int accelAlloc(void *&addr, int &phys_addr, int size);
21         void accelFree(int phys_addr);
22 private:
23         void *m_accel_addr;
24         int m_accel_phys_addr;
25         int m_accel_size; // in blocks
26         int *m_accel_allocation;
27         int m_bcm_accel_state;
28         
29         static gAccel *instance;
30 };
31
32 #endif