aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2009-06-03 14:52:36 +0200
committerFelix Domke <tmbinc@elitedvb.net>2009-06-03 14:59:28 +0200
commit96921943cabb60ed9191d0c71775a36f9e197778 (patch)
treed71d165a2d8fd37fbb3c79e2fde5dc1b9a7dce25 /lib
parent3207029344392a328d02dcf362783a294708844f (diff)
downloadenigma2-96921943cabb60ed9191d0c71775a36f9e197778.tar.gz
enigma2-96921943cabb60ed9191d0c71775a36f9e197778.zip
add compositing structure (not yet final)
Diffstat (limited to 'lib')
-rw-r--r--lib/gdi/Makefile.am3
-rw-r--r--lib/gdi/compositing.cpp9
-rw-r--r--lib/gdi/compositing.h34
3 files changed, 45 insertions, 1 deletions
diff --git a/lib/gdi/Makefile.am b/lib/gdi/Makefile.am
index 46ed948a..e5430fab 100644
--- a/lib/gdi/Makefile.am
+++ b/lib/gdi/Makefile.am
@@ -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
index 00000000..e373a02e
--- /dev/null
+++ b/lib/gdi/compositing.cpp
@@ -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
index 00000000..706a5927
--- /dev/null
+++ b/lib/gdi/compositing.h
@@ -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