enigma2 (20120327 rel32 -> 20120430 master)
[enigma2.git] / usr / include / enigma2 / lib / gdi / compositing.h
1 #ifndef __lib_gdi_compositing_h
2 #define __lib_gdi_compositing_h
3
4 #include <lib/gdi/gpixmap.h>
5
6 #include <vector>
7
8 class gDC;
9
10 struct gContext
11 {
12         ePtr<gDC> m_pixmap;
13         int m_reg_int[256];
14         float m_reg_float[256]; 
15         ~gContext();
16 };
17
18 struct gCompositingElement
19 {
20         std::vector<unsigned int> m_code;
21         gContext m_context;
22 };
23
24 class gCompositingData: public sigc::trackable
25 {
26 DECLARE_REF(gCompositingData);
27 public:
28         int execute(void); /* returns ticks until next execution */
29 private:
30         std::vector<gCompositingElement> m_elements;
31         gContext m_globals;
32 };
33
34 #endif