add compositing structure (not yet final)
authorFelix Domke <tmbinc@elitedvb.net>
Wed, 3 Jun 2009 12:52:36 +0000 (14:52 +0200)
committerFelix Domke <tmbinc@elitedvb.net>
Wed, 3 Jun 2009 12:59:28 +0000 (14:59 +0200)
lib/gdi/Makefile.am
lib/gdi/compositing.cpp [new file with mode: 0644]
lib/gdi/compositing.h [new file with mode: 0644]

index 46ed948a9ec9dfd73633775040da105089799a83..e5430fab94d56b3b121b8302ec4c7c0255645fa2 100644 (file)
@@ -5,7 +5,8 @@ noinst_LIBRARIES = libenigma_gdi.a
 
 libenigma_gdi_a_SOURCES = \
        region.cpp grc.cpp epng.cpp erect.cpp fb.cpp font.cpp font_arabic.cpp gfbdc.cpp  \
-       glcddc.cpp gpixmap.cpp lcd.cpp gfont.cpp accel.cpp picload.cpp picexif.cpp
+       glcddc.cpp gpixmap.cpp lcd.cpp gfont.cpp accel.cpp picload.cpp picexif.cpp \
+       compositing.cpp
 
 if WITH_SDL
 libenigma_gdi_a_SOURCES += sdl.cpp
diff --git a/lib/gdi/compositing.cpp b/lib/gdi/compositing.cpp
new file mode 100644 (file)
index 0000000..e373a02
--- /dev/null
@@ -0,0 +1,9 @@
+#include <lib/gdi/compositing.h>
+#include <lib/gdi/grc.h>
+
+DEFINE_REF(gCompositingData);
+
+gContext::~gContext()
+{
+}
+
diff --git a/lib/gdi/compositing.h b/lib/gdi/compositing.h
new file mode 100644 (file)
index 0000000..706a592
--- /dev/null
@@ -0,0 +1,34 @@
+#ifndef __lib_gdi_compositing_h
+#define __lib_gdi_compositing_h
+
+#include <lib/gdi/gpixmap.h>
+
+#include <vector>
+
+class gDC;
+
+struct gContext
+{
+       ePtr<gDC> m_pixmap;
+       int m_reg_int[256];
+       float m_reg_float[256]; 
+       ~gContext();
+};
+
+struct gCompositingElement
+{
+       std::vector<unsigned int> m_code;
+       gContext m_context;
+};
+
+class gCompositingData: public Object
+{
+DECLARE_REF(gCompositingData);
+public:
+       int execute(void); /* returns ticks until next execution */
+private:
+       std::vector<gCompositingElement> m_elements;
+       gContext m_globals;
+};
+
+#endif