summaryrefslogtreecommitdiff
path: root/Source/++DFB/++dfb
diff options
context:
space:
mode:
Diffstat (limited to 'Source/++DFB/++dfb')
-rwxr-xr-xSource/++DFB/++dfb/++dfb_internal.h38
-rwxr-xr-xSource/++DFB/++dfb/MULTIO1
-rwxr-xr-xSource/++DFB/++dfb/Makefile529
-rwxr-xr-xSource/++DFB/++dfb/Makefile.am27
-rwxr-xr-xSource/++DFB/++dfb/Makefile.in529
-rwxr-xr-xSource/++DFB/++dfb/idirectfb.cpp232
-rwxr-xr-xSource/++DFB/++dfb/idirectfbdatabuffer.cpp137
-rwxr-xr-xSource/++DFB/++dfb/idirectfbdisplaylayer.cpp256
-rwxr-xr-xSource/++DFB/++dfb/idirectfbeventbuffer.cpp114
-rwxr-xr-xSource/++DFB/++dfb/idirectfbfont.cpp123
-rwxr-xr-xSource/++DFB/++dfb/idirectfbimageprovider.cpp50
-rwxr-xr-xSource/++DFB/++dfb/idirectfbinputdevice.cpp125
-rwxr-xr-xSource/++DFB/++dfb/idirectfbpalette.cpp76
-rwxr-xr-xSource/++DFB/++dfb/idirectfbscreen.cpp141
-rwxr-xr-xSource/++DFB/++dfb/idirectfbsurface.cpp466
-rwxr-xr-xSource/++DFB/++dfb/idirectfbvideoprovider.cpp139
-rwxr-xr-xSource/++DFB/++dfb/idirectfbwindow.cpp251
-rwxr-xr-xSource/++DFB/++dfb/ppdfb.cpp87
18 files changed, 3321 insertions, 0 deletions
diff --git a/Source/++DFB/++dfb/++dfb_internal.h b/Source/++DFB/++dfb/++dfb_internal.h
new file mode 100755
index 0000000..eff719e
--- /dev/null
+++ b/Source/++DFB/++dfb/++dfb_internal.h
@@ -0,0 +1,38 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef DFBPP_INTERNAL_H
+#define DFBPP_INTERNAL_H
+
+#define DFBCHECK(x...) \
+ do { \
+ DFBResult ret = (x); \
+ \
+ if (ret) \
+ throw new DFBException (__PRETTY_FUNCTION__, ret); \
+ } while (0);
+
+
+#endif
+
diff --git a/Source/++DFB/++dfb/MULTIO b/Source/++DFB/++dfb/MULTIO
new file mode 100755
index 0000000..4b4305e
--- /dev/null
+++ b/Source/++DFB/++dfb/MULTIO
@@ -0,0 +1 @@
+arm_v5t_le-g++ *.cpp -I../../++DFB/include -I /home/dok/Telio/multio/client/build/local/sysroot/armv5tl-montavista-linuxeabi/usr/include/directfb -I /home/dok/Telio/multio/client/Kernel/linux-fusion/linux/include -DDATADIR=\"/usr/share/DFBInspector\" -L/home/dok/Telio/multio/client/build/local/sysroot/armv5tl-montavista-linuxeabi/usr/lib -ldirectfb -lfusion -ldirect -lpng -lfreetype -ljpeg -lz -lpthread -ldl -shared -o lib++dfb.so
diff --git a/Source/++DFB/++dfb/Makefile b/Source/++DFB/++dfb/Makefile
new file mode 100755
index 0000000..7a01818
--- /dev/null
+++ b/Source/++DFB/++dfb/Makefile
@@ -0,0 +1,529 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# ++dfb/Makefile. Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+
+pkgdatadir = $(datadir)/++DFB
+pkglibdir = $(libdir)/++DFB
+pkgincludedir = $(includedir)/++DFB
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = x86_64-unknown-linux-gnu
+host_triplet = x86_64-unknown-linux-gnu
+subdir = ++dfb
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+lib__dfb_la_DEPENDENCIES =
+am_lib__dfb_la_OBJECTS = ppdfb.lo idirectfb.lo idirectfbdatabuffer.lo \
+ idirectfbdisplaylayer.lo idirectfbeventbuffer.lo \
+ idirectfbfont.lo idirectfbimageprovider.lo \
+ idirectfbinputdevice.lo idirectfbpalette.lo idirectfbscreen.lo \
+ idirectfbsurface.lo idirectfbvideoprovider.lo \
+ idirectfbwindow.lo
+lib__dfb_la_OBJECTS = $(am_lib__dfb_la_OBJECTS)
+lib__dfb_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(lib__dfb_la_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I. -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(lib__dfb_la_SOURCES)
+DIST_SOURCES = $(lib__dfb_la_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/dok/cvs/directfb/++DFB/missing --run aclocal-1.10
+AMTAR = ${SHELL} /home/dok/cvs/directfb/++DFB/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/dok/cvs/directfb/++DFB/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/dok/cvs/directfb/++DFB/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/dok/cvs/directfb/++DFB/missing --run automake-1.10
+AWK = gawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS =
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DIRECTFB_BINARY_AGE = 0
+DIRECTFB_CFLAGS = -D_GNU_SOURCE -finstrument-functions -D_REENTRANT -I/usr/local/include/directfb-internal -I/usr/local/include/directfb
+DIRECTFB_INTERFACE_AGE = 0
+DIRECTFB_LIBS = -L/usr/local/lib -ldirectfb -lfusion -ldirect -lpthread
+DIRECTFB_MAJOR_VERSION = 1
+DIRECTFB_MICRO_VERSION = 2
+DIRECTFB_MINOR_VERSION = 4
+DIRECTFB_VERSION = 1.4.2
+DSYMUTIL =
+ECHO = echo
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+EGREP = /bin/grep -E
+EXEEXT =
+F77 = gfortran
+FFLAGS = -g -O2
+GREP = /bin/grep
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+LDFLAGS =
+LIBOBJS =
+LIBS =
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS =
+LT_AGE = 0
+LT_CURRENT = 2
+LT_RELEASE = 1.4
+LT_REVISION = 0
+MAINT = #
+MAKEINFO = ${SHELL} /home/dok/cvs/directfb/++DFB/missing --run makeinfo
+MKDIR_P = /bin/mkdir -p
+NMEDIT =
+OBJEXT = o
+PACKAGE = ++DFB
+PACKAGE_BUGREPORT =
+PACKAGE_NAME =
+PACKAGE_STRING =
+PACKAGE_TARNAME =
+PACKAGE_VERSION =
+PATH_SEPARATOR = :
+PKG_CONFIG = /usr/bin/pkg-config
+RANLIB = ranlib
+SED = /bin/sed
+SET_MAKE =
+SHELL = /bin/sh
+STRIP = strip
+VERSION = 1.4.2
+abs_builddir = /home/dok/cvs/directfb/++DFB/++dfb
+abs_srcdir = /home/dok/cvs/directfb/++DFB/++dfb
+abs_top_builddir = /home/dok/cvs/directfb/++DFB
+abs_top_srcdir = /home/dok/cvs/directfb/++DFB
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = gfortran
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-unknown-linux-gnu
+build_alias =
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = unknown
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = x86_64-unknown-linux-gnu
+host_alias =
+host_cpu = x86_64
+host_os = linux-gnu
+host_vendor = unknown
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = $(SHELL) /home/dok/cvs/directfb/++DFB/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = /bin/mkdir -p
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias =
+top_builddir = ..
+top_srcdir = ..
+INCLUDES = \
+ -I$(top_srcdir)/include \
+ -D_GNU_SOURCE -finstrument-functions -D_REENTRANT -I/usr/local/include/directfb-internal -I/usr/local/include/directfb -Wall
+
+lib_LTLIBRARIES = lib++dfb.la
+lib__dfb_la_SOURCES = \
+ ppdfb.cpp \
+ ++dfb_internal.h \
+ idirectfb.cpp \
+ idirectfbdatabuffer.cpp \
+ idirectfbdisplaylayer.cpp \
+ idirectfbeventbuffer.cpp \
+ idirectfbfont.cpp \
+ idirectfbimageprovider.cpp \
+ idirectfbinputdevice.cpp \
+ idirectfbpalette.cpp \
+ idirectfbscreen.cpp \
+ idirectfbsurface.cpp \
+ idirectfbvideoprovider.cpp \
+ idirectfbwindow.cpp
+
+lib__dfb_la_LIBADD = -L/usr/local/lib -ldirectfb -lfusion -ldirect -lpthread
+lib__dfb_la_LDFLAGS = \
+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -release $(LT_RELEASE)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ++dfb/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu ++dfb/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+lib++dfb.la: $(lib__dfb_la_OBJECTS) $(lib__dfb_la_DEPENDENCIES)
+ $(lib__dfb_la_LINK) -rpath $(libdir) $(lib__dfb_la_OBJECTS) $(lib__dfb_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+include ./$(DEPDIR)/idirectfb.Plo
+include ./$(DEPDIR)/idirectfbdatabuffer.Plo
+include ./$(DEPDIR)/idirectfbdisplaylayer.Plo
+include ./$(DEPDIR)/idirectfbeventbuffer.Plo
+include ./$(DEPDIR)/idirectfbfont.Plo
+include ./$(DEPDIR)/idirectfbimageprovider.Plo
+include ./$(DEPDIR)/idirectfbinputdevice.Plo
+include ./$(DEPDIR)/idirectfbpalette.Plo
+include ./$(DEPDIR)/idirectfbscreen.Plo
+include ./$(DEPDIR)/idirectfbsurface.Plo
+include ./$(DEPDIR)/idirectfbvideoprovider.Plo
+include ./$(DEPDIR)/idirectfbwindow.Plo
+include ./$(DEPDIR)/ppdfb.Plo
+
+.cpp.o:
+ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+# source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+# source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+# source='$<' object='$@' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+ for dir in "$(DESTDIR)$(libdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am \
+ install-libLTLIBRARIES install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-libLTLIBRARIES
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/Source/++DFB/++dfb/Makefile.am b/Source/++DFB/++dfb/Makefile.am
new file mode 100755
index 0000000..7521166
--- /dev/null
+++ b/Source/++DFB/++dfb/Makefile.am
@@ -0,0 +1,27 @@
+INCLUDES = \
+ -I$(top_srcdir)/include \
+ @DIRECTFB_CFLAGS@ -Wall
+
+lib_LTLIBRARIES = lib++dfb.la
+
+lib__dfb_la_SOURCES = \
+ ppdfb.cpp \
+ ++dfb_internal.h \
+ idirectfb.cpp \
+ idirectfbdatabuffer.cpp \
+ idirectfbdisplaylayer.cpp \
+ idirectfbeventbuffer.cpp \
+ idirectfbfont.cpp \
+ idirectfbimageprovider.cpp \
+ idirectfbinputdevice.cpp \
+ idirectfbpalette.cpp \
+ idirectfbscreen.cpp \
+ idirectfbsurface.cpp \
+ idirectfbvideoprovider.cpp \
+ idirectfbwindow.cpp
+
+lib__dfb_la_LIBADD = @DIRECTFB_LIBS@
+
+lib__dfb_la_LDFLAGS = \
+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -release $(LT_RELEASE)
diff --git a/Source/++DFB/++dfb/Makefile.in b/Source/++DFB/++dfb/Makefile.in
new file mode 100755
index 0000000..840e23e
--- /dev/null
+++ b/Source/++DFB/++dfb/Makefile.in
@@ -0,0 +1,529 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = ++dfb
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+lib__dfb_la_DEPENDENCIES =
+am_lib__dfb_la_OBJECTS = ppdfb.lo idirectfb.lo idirectfbdatabuffer.lo \
+ idirectfbdisplaylayer.lo idirectfbeventbuffer.lo \
+ idirectfbfont.lo idirectfbimageprovider.lo \
+ idirectfbinputdevice.lo idirectfbpalette.lo idirectfbscreen.lo \
+ idirectfbsurface.lo idirectfbvideoprovider.lo \
+ idirectfbwindow.lo
+lib__dfb_la_OBJECTS = $(am_lib__dfb_la_OBJECTS)
+lib__dfb_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(lib__dfb_la_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(lib__dfb_la_SOURCES)
+DIST_SOURCES = $(lib__dfb_la_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
+DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
+DIRECTFB_LIBS = @DIRECTFB_LIBS@
+DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
+DIRECTFB_MICRO_VERSION = @DIRECTFB_MICRO_VERSION@
+DIRECTFB_MINOR_VERSION = @DIRECTFB_MINOR_VERSION@
+DIRECTFB_VERSION = @DIRECTFB_VERSION@
+DSYMUTIL = @DSYMUTIL@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+INCLUDES = \
+ -I$(top_srcdir)/include \
+ @DIRECTFB_CFLAGS@ -Wall
+
+lib_LTLIBRARIES = lib++dfb.la
+lib__dfb_la_SOURCES = \
+ ppdfb.cpp \
+ ++dfb_internal.h \
+ idirectfb.cpp \
+ idirectfbdatabuffer.cpp \
+ idirectfbdisplaylayer.cpp \
+ idirectfbeventbuffer.cpp \
+ idirectfbfont.cpp \
+ idirectfbimageprovider.cpp \
+ idirectfbinputdevice.cpp \
+ idirectfbpalette.cpp \
+ idirectfbscreen.cpp \
+ idirectfbsurface.cpp \
+ idirectfbvideoprovider.cpp \
+ idirectfbwindow.cpp
+
+lib__dfb_la_LIBADD = @DIRECTFB_LIBS@
+lib__dfb_la_LDFLAGS = \
+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -release $(LT_RELEASE)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ++dfb/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu ++dfb/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+lib++dfb.la: $(lib__dfb_la_OBJECTS) $(lib__dfb_la_DEPENDENCIES)
+ $(lib__dfb_la_LINK) -rpath $(libdir) $(lib__dfb_la_OBJECTS) $(lib__dfb_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idirectfb.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idirectfbdatabuffer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idirectfbdisplaylayer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idirectfbeventbuffer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idirectfbfont.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idirectfbimageprovider.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idirectfbinputdevice.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idirectfbpalette.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idirectfbscreen.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idirectfbsurface.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idirectfbvideoprovider.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idirectfbwindow.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppdfb.Plo@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+ for dir in "$(DESTDIR)$(libdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am \
+ install-libLTLIBRARIES install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-libLTLIBRARIES
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/Source/++DFB/++dfb/idirectfb.cpp b/Source/++DFB/++dfb/idirectfb.cpp
new file mode 100755
index 0000000..87c812c
--- /dev/null
+++ b/Source/++DFB/++dfb/idirectfb.cpp
@@ -0,0 +1,232 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+void IDirectFB::SetCooperativeLevel (DFBCooperativeLevel level)
+{
+ DFBCHECK( iface->SetCooperativeLevel (iface, level) );
+}
+
+void IDirectFB::SetVideoMode (unsigned int width,
+ unsigned int height,
+ unsigned int bpp)
+{
+ DFBCHECK( iface->SetVideoMode (iface, width, height, bpp) );
+}
+
+void IDirectFB::GetDeviceDescription (DFBGraphicsDeviceDescription *desc)
+{
+ DFBCHECK( iface->GetDeviceDescription (iface, desc) );
+}
+
+void IDirectFB::EnumVideoModes (DFBVideoModeCallback callback,
+ void *callbackdata)
+{
+ DFBCHECK( iface->EnumVideoModes (iface, callback, callbackdata) );
+}
+
+IDirectFBSurface IDirectFB::CreateSurface (DFBSurfaceDescription &desc) const
+{
+ IDirectFBSurface_C *idirectfbsurface;
+
+ DFBCHECK( iface->CreateSurface (iface, &desc, &idirectfbsurface) );
+
+ return IDirectFBSurface (idirectfbsurface);
+}
+
+IDirectFBPalette IDirectFB::CreatePalette (DFBPaletteDescription &desc)
+{
+ IDirectFBPalette_C *idirectfbpalette;
+
+ DFBCHECK( iface->CreatePalette (iface, &desc, &idirectfbpalette) );
+
+ return IDirectFBPalette (idirectfbpalette);
+}
+
+void IDirectFB::EnumDisplayLayers (DFBDisplayLayerCallback callback,
+ void *callbackdata)
+{
+ DFBCHECK( iface->EnumDisplayLayers (iface, callback, callbackdata) );
+}
+
+
+IDirectFBScreen IDirectFB::GetScreen (DFBScreenID screen_id)
+{
+ IDirectFBScreen_C *idirectfbscreen;
+
+ DFBCHECK( iface->GetScreen (iface, screen_id, &idirectfbscreen) );
+
+ return IDirectFBScreen (idirectfbscreen);
+}
+
+void IDirectFB::EnumScreens (DFBScreenCallback callback,
+ void *callbackdata)
+{
+ DFBCHECK( iface->EnumScreens (iface, callback, callbackdata) );
+}
+
+
+IDirectFBDisplayLayer IDirectFB::GetDisplayLayer (DFBDisplayLayerID layer_id)
+{
+ IDirectFBDisplayLayer_C *idirectfbdisplaylayer;
+
+ DFBCHECK( iface->GetDisplayLayer (iface, layer_id, &idirectfbdisplaylayer) );
+
+ return IDirectFBDisplayLayer (idirectfbdisplaylayer);
+}
+
+void IDirectFB::EnumInputDevices (DFBInputDeviceCallback callback,
+ void *callbackdata) const
+{
+ DFBCHECK( iface->EnumInputDevices (iface, callback, callbackdata) );
+}
+
+IDirectFBInputDevice IDirectFB::GetInputDevice (DFBInputDeviceID device_id) const
+{
+ IDirectFBInputDevice_C *idirectfbinputdevice;
+
+ DFBCHECK( iface->GetInputDevice (iface, device_id, &idirectfbinputdevice) );
+
+ return IDirectFBInputDevice (idirectfbinputdevice);
+}
+
+IDirectFBEventBuffer IDirectFB::CreateEventBuffer () const
+{
+ IDirectFBEventBuffer_C *idirectfbeventbuffer;
+
+ DFBCHECK( iface->CreateEventBuffer (iface, &idirectfbeventbuffer) );
+
+ static IDirectFBEventBuffer *buffer = new IDirectFBEventBuffer (idirectfbeventbuffer);
+ return *buffer;
+// return IDirectFBEventBuffer (idirectfbeventbuffer);
+}
+
+IDirectFBEventBuffer IDirectFB::CreateInputEventBuffer (DFBInputDeviceCapabilities caps,
+ DFBBoolean global)
+{
+ IDirectFBEventBuffer_C *idirectfbeventbuffer;
+
+ DFBCHECK( iface->CreateInputEventBuffer (iface, caps, global,
+ &idirectfbeventbuffer) );
+
+ return IDirectFBEventBuffer (idirectfbeventbuffer);
+}
+
+IDirectFBImageProvider IDirectFB::CreateImageProvider (const char *filename) const
+{
+ IDirectFBImageProvider_C *idirectfbimageprovider;
+
+ DFBCHECK( iface->CreateImageProvider (iface, filename, &idirectfbimageprovider) );
+
+ return IDirectFBImageProvider (idirectfbimageprovider);
+}
+
+IDirectFBVideoProvider IDirectFB::CreateVideoProvider (const char *filename)
+{
+ IDirectFBVideoProvider_C *idirectfbvideoprovider;
+
+ DFBCHECK( iface->CreateVideoProvider (iface, filename, &idirectfbvideoprovider) );
+
+ return IDirectFBVideoProvider (idirectfbvideoprovider);
+}
+
+IDirectFBFont IDirectFB::CreateFont (const char *filename,
+ DFBFontDescription &desc) const
+{
+ IDirectFBFont_C *idirectfbfont;
+
+ DFBCHECK( iface->CreateFont (iface, filename, &desc, &idirectfbfont) );
+
+ return IDirectFBFont (idirectfbfont);
+}
+
+IDirectFBDataBuffer IDirectFB::CreateDataBuffer (DFBDataBufferDescription &desc)
+{
+ IDirectFBDataBuffer_C *idirectfbdatabuffer;
+
+ DFBCHECK( iface->CreateDataBuffer (iface, &desc, &idirectfbdatabuffer) );
+
+ return IDirectFBDataBuffer (idirectfbdatabuffer);
+}
+
+struct timeval IDirectFB::SetClipboardData (const char *mime_type,
+ const void *data,
+ unsigned int size)
+{
+ struct timeval timestamp;
+
+ DFBCHECK( iface->SetClipboardData (iface, mime_type, data, size, &timestamp) );
+
+ return timestamp;
+}
+
+void IDirectFB::GetClipboardData (char **mime_type,
+ void **data,
+ unsigned int *size)
+{
+ DFBCHECK( iface->GetClipboardData (iface, mime_type, data, size) );
+}
+
+struct timeval IDirectFB::GetClipboardTimeStamp()
+{
+ struct timeval timestamp;
+
+ DFBCHECK( iface->GetClipboardTimeStamp (iface, &timestamp) );
+
+ return timestamp;
+}
+
+void IDirectFB::Suspend()
+{
+ DFBCHECK( iface->Suspend (iface) );
+}
+
+void IDirectFB::Resume()
+{
+ DFBCHECK( iface->Resume (iface) );
+}
+
+void IDirectFB::WaitIdle()
+{
+ DFBCHECK( iface->WaitIdle (iface) );
+}
+
+void IDirectFB::WaitForSync()
+{
+ DFBCHECK( iface->WaitForSync (iface) );
+}
+
+void *IDirectFB::GetInterface (const char *type,
+ const char *implementation,
+ void *arg)
+{
+ void *interface;
+
+ DFBCHECK( iface->GetInterface (iface, type, implementation, arg, &interface) );
+
+ return interface;
+}
+
diff --git a/Source/++DFB/++dfb/idirectfbdatabuffer.cpp b/Source/++DFB/++dfb/idirectfbdatabuffer.cpp
new file mode 100755
index 0000000..eca305b
--- /dev/null
+++ b/Source/++DFB/++dfb/idirectfbdatabuffer.cpp
@@ -0,0 +1,137 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+void IDirectFBDataBuffer::Flush()
+{
+ DFBCHECK( iface->Flush (iface) );
+}
+
+void IDirectFBDataBuffer::Finish()
+{
+ DFBCHECK( iface->Finish (iface) );
+}
+
+void IDirectFBDataBuffer::SeekTo (unsigned int offset)
+{
+ DFBCHECK( iface->SeekTo (iface, offset) );
+}
+
+unsigned int IDirectFBDataBuffer::GetPosition ()
+{
+ unsigned int position;
+
+ DFBCHECK( iface->GetPosition (iface, &position) );
+
+ return position;
+}
+
+unsigned int IDirectFBDataBuffer::GetLength ()
+{
+ unsigned int length;
+
+ DFBCHECK( iface->GetLength (iface, &length) );
+
+ return length;
+}
+
+void IDirectFBDataBuffer::WaitForData (unsigned int length)
+{
+ DFBCHECK( iface->WaitForData (iface, length) );
+}
+
+void IDirectFBDataBuffer::WaitForDataWithTimeout (unsigned int length,
+ unsigned int seconds,
+ unsigned int milli_seconds)
+{
+ DFBCHECK( iface->WaitForDataWithTimeout (iface, length, seconds, milli_seconds) );
+}
+
+unsigned int IDirectFBDataBuffer::GetData (unsigned int length,
+ void *data)
+{
+ DFBResult ret;
+ unsigned int read_length = 0;
+
+ ret = iface->GetData (iface, length, data, &read_length);
+
+ if (ret != DFB_OK && ret != DFB_BUFFEREMPTY)
+ throw new DFBException (__PRETTY_FUNCTION__, ret);
+
+ return read_length;
+}
+
+unsigned int IDirectFBDataBuffer::PeekData (unsigned int length,
+ int offset,
+ void *data)
+{
+ DFBResult ret;
+ unsigned int read_length = 0;
+
+ ret = iface->PeekData (iface, length, offset, data, &read_length);
+
+ if (ret != DFB_OK && ret != DFB_BUFFEREMPTY)
+ throw new DFBException (__PRETTY_FUNCTION__, ret);
+
+ return read_length;
+}
+
+bool IDirectFBDataBuffer::HasData ()
+{
+ DFBResult ret;
+
+ ret = iface->HasData (iface);
+
+ if (ret != DFB_OK && ret != DFB_BUFFEREMPTY)
+ throw new DFBException (__PRETTY_FUNCTION__, ret);
+
+ return (ret == DFB_OK);
+}
+
+void IDirectFBDataBuffer::PutData (const void *data,
+ unsigned int length)
+{
+ DFBCHECK( iface->PutData (iface, data, length) );
+}
+
+IDirectFBImageProvider IDirectFBDataBuffer::CreateImageProvider ()
+{
+ IDirectFBImageProvider_C *idirectfbimageprovider;
+
+ DFBCHECK( iface->CreateImageProvider (iface, &idirectfbimageprovider) );
+
+ return IDirectFBImageProvider (idirectfbimageprovider);
+}
+
+IDirectFBVideoProvider IDirectFBDataBuffer::CreateVideoProvider ()
+{
+ IDirectFBVideoProvider_C *idirectfbvideoprovider;
+
+ DFBCHECK( iface->CreateVideoProvider (iface, &idirectfbvideoprovider) );
+
+ return IDirectFBVideoProvider (idirectfbvideoprovider);
+}
+
diff --git a/Source/++DFB/++dfb/idirectfbdisplaylayer.cpp b/Source/++DFB/++dfb/idirectfbdisplaylayer.cpp
new file mode 100755
index 0000000..e95ed1b
--- /dev/null
+++ b/Source/++DFB/++dfb/idirectfbdisplaylayer.cpp
@@ -0,0 +1,256 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+DFBDisplayLayerID IDirectFBDisplayLayer::GetID()
+{
+ DFBDisplayLayerID layer_id;
+
+ DFBCHECK( iface->GetID (iface, &layer_id) );
+
+ return layer_id;
+}
+
+DFBDisplayLayerDescription IDirectFBDisplayLayer::GetDescription()
+{
+ DFBDisplayLayerDescription desc;
+
+ DFBCHECK( iface->GetDescription (iface, &desc) );
+
+ return desc;
+}
+
+void IDirectFBDisplayLayer::GetSourceDescriptions (DFBDisplayLayerSourceDescription *desc)
+{
+ DFBCHECK( iface->GetSourceDescriptions (iface, desc) );
+}
+
+IDirectFBSurface IDirectFBDisplayLayer::GetSurface()
+{
+ IDirectFBSurface_C *idirectfbsurface;
+
+ DFBCHECK( iface->GetSurface (iface, &idirectfbsurface) );
+
+ return IDirectFBSurface (idirectfbsurface);
+}
+
+IDirectFBScreen IDirectFBDisplayLayer::GetScreen()
+{
+ IDirectFBScreen_C *idirectfbscreen;
+
+ DFBCHECK( iface->GetScreen (iface, &idirectfbscreen) );
+
+ return IDirectFBScreen (idirectfbscreen);
+}
+
+void IDirectFBDisplayLayer::SetCooperativeLevel (DFBDisplayLayerCooperativeLevel level)
+{
+ DFBCHECK( iface->SetCooperativeLevel (iface, level) );
+}
+
+void IDirectFBDisplayLayer::SetOpacity (u8 opacity)
+{
+ DFBCHECK( iface->SetOpacity (iface, opacity) );
+}
+
+void IDirectFBDisplayLayer::SetSourceRectangle (int x,
+ int y,
+ int width,
+ int height)
+{
+ DFBCHECK( iface->SetSourceRectangle (iface, x, y, width, height) );
+}
+
+void IDirectFBDisplayLayer::SetScreenLocation (float x,
+ float y,
+ float width,
+ float height)
+{
+ DFBCHECK( iface->SetScreenLocation (iface, x, y, width, height) );
+}
+
+void IDirectFBDisplayLayer::SetScreenPosition (int x,
+ int y)
+{
+ DFBCHECK( iface->SetScreenPosition (iface, x, y) );
+}
+
+void IDirectFBDisplayLayer::SetScreenRectangle (int x,
+ int y,
+ int width,
+ int height)
+{
+ DFBCHECK( iface->SetScreenRectangle (iface, x, y, width, height) );
+}
+
+void IDirectFBDisplayLayer::SetClipRegions (const DFBRegion *regions,
+ int num_regions,
+ DFBBoolean positive)
+{
+ DFBCHECK( iface->SetClipRegions (iface, regions, num_regions, positive) );
+}
+
+void IDirectFBDisplayLayer::SetSrcColorKey (u8 r, u8 g, u8 b)
+{
+ DFBCHECK( iface->SetSrcColorKey (iface, r, g, b) );
+}
+
+void IDirectFBDisplayLayer::SetDstColorKey (u8 r, u8 g, u8 b)
+{
+ DFBCHECK( iface->SetDstColorKey (iface, r, g, b) );
+}
+
+int IDirectFBDisplayLayer::GetLevel()
+{
+ int level;
+
+ DFBCHECK( iface->GetLevel (iface, &level) );
+
+ return level;
+}
+
+void IDirectFBDisplayLayer::SetLevel (int level)
+{
+ DFBCHECK( iface->SetLevel (iface, level) );
+}
+
+int IDirectFBDisplayLayer::GetCurrentOutputField()
+{
+ int field;
+
+ DFBCHECK( iface->GetCurrentOutputField (iface, &field) );
+
+ return field;
+}
+
+void IDirectFBDisplayLayer::SetFieldParity (int field)
+{
+ DFBCHECK( iface->SetFieldParity (iface, field) );
+}
+
+void IDirectFBDisplayLayer::WaitForSync()
+{
+ DFBCHECK( iface->WaitForSync (iface) );
+}
+
+void IDirectFBDisplayLayer::GetConfiguration (DFBDisplayLayerConfig *config)
+{
+ DFBCHECK( iface->GetConfiguration (iface, config) );
+}
+
+void IDirectFBDisplayLayer::TestConfiguration (DFBDisplayLayerConfig &config,
+ DFBDisplayLayerConfigFlags *failed)
+{
+ DFBCHECK( iface->TestConfiguration (iface, &config, failed) );
+}
+
+void IDirectFBDisplayLayer::SetConfiguration (DFBDisplayLayerConfig &config)
+{
+ DFBCHECK( iface->SetConfiguration (iface, &config) );
+}
+
+void IDirectFBDisplayLayer::SetBackgroundMode (DFBDisplayLayerBackgroundMode mode)
+{
+ DFBCHECK( iface->SetBackgroundMode (iface, mode) );
+}
+
+void IDirectFBDisplayLayer::SetBackgroundImage (IDirectFBSurface *surface)
+{
+ DFBCHECK( iface->SetBackgroundImage (iface, surface->get_iface()) );
+}
+
+void IDirectFBDisplayLayer::SetBackgroundColor (u8 r, u8 g, u8 b, u8 a)
+{
+ DFBCHECK( iface->SetBackgroundColor (iface, r, g, b, a) );
+}
+
+void IDirectFBDisplayLayer::GetColorAdjustment (DFBColorAdjustment *adj)
+{
+ DFBCHECK( iface->GetColorAdjustment (iface, adj) );
+}
+
+void IDirectFBDisplayLayer::SetColorAdjustment (DFBColorAdjustment &adj)
+{
+ DFBCHECK( iface->SetColorAdjustment (iface, &adj) );
+}
+
+IDirectFBWindow IDirectFBDisplayLayer::CreateWindow (DFBWindowDescription &desc)
+{
+ IDirectFBWindow_C *idirectfbwindow;
+
+ DFBCHECK( iface->CreateWindow (iface, &desc, &idirectfbwindow) );
+
+ return IDirectFBWindow (idirectfbwindow);
+}
+
+IDirectFBWindow IDirectFBDisplayLayer::GetWindow (DFBWindowID window_id)
+{
+ IDirectFBWindow_C *idirectfbwindow;
+
+ DFBCHECK( iface->GetWindow (iface, window_id, &idirectfbwindow) );
+
+ return IDirectFBWindow (idirectfbwindow);
+}
+
+void IDirectFBDisplayLayer::EnableCursor (bool enable)
+{
+ DFBCHECK( iface->EnableCursor (iface, enable) );
+}
+
+void IDirectFBDisplayLayer::GetCursorPosition (int *x, int *y)
+{
+ DFBCHECK( iface->GetCursorPosition (iface, x, y) );
+}
+
+void IDirectFBDisplayLayer::WarpCursor (int x, int y)
+{
+ DFBCHECK( iface->WarpCursor (iface, x, y) );
+}
+
+void IDirectFBDisplayLayer::SetCursorAcceleration (int numerator,
+ int denominator,
+ int threshold)
+{
+ DFBCHECK( iface->SetCursorAcceleration (iface, numerator, denominator, threshold) );
+}
+
+void IDirectFBDisplayLayer::SetCursorShape (IDirectFBSurface *shape,
+ int hot_x,
+ int hot_y)
+{
+ DFBCHECK( iface->SetCursorShape (iface, shape->get_iface(), hot_x, hot_y) );
+}
+
+void IDirectFBDisplayLayer::SetCursorOpacity (u8 opacity)
+{
+ DFBCHECK( iface->SetCursorOpacity (iface, opacity) );
+}
+
+void IDirectFBDisplayLayer::SwitchContext (DFBBoolean exclusive)
+{
+ DFBCHECK( iface->SwitchContext (iface, exclusive) );
+}
+
diff --git a/Source/++DFB/++dfb/idirectfbeventbuffer.cpp b/Source/++DFB/++dfb/idirectfbeventbuffer.cpp
new file mode 100755
index 0000000..e0f25ca
--- /dev/null
+++ b/Source/++DFB/++dfb/idirectfbeventbuffer.cpp
@@ -0,0 +1,114 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+void IDirectFBEventBuffer::Reset()
+{
+ DFBCHECK( iface->Reset (iface) );
+}
+
+void IDirectFBEventBuffer::WaitForEvent()
+{
+ DFBCHECK( iface->WaitForEvent (iface) );
+}
+
+bool IDirectFBEventBuffer::WaitForEventWithTimeout (unsigned int seconds,
+ unsigned int milli_seconds)
+{
+ DFBResult ret;
+
+ ret = iface->WaitForEventWithTimeout (iface, seconds, milli_seconds);
+
+ if (ret != DFB_OK && ret != DFB_TIMEOUT)
+ throw new DFBException(__PRETTY_FUNCTION__, ret);
+
+ return (ret == DFB_OK);
+}
+
+void IDirectFBEventBuffer::WakeUp ()
+{
+ DFBCHECK( iface->WakeUp (iface) );
+}
+
+bool IDirectFBEventBuffer::GetEvent (DFBEvent *event)
+{
+ DFBResult ret;
+
+ ret = iface->GetEvent (iface, event);
+
+ if (ret != DFB_OK && ret != DFB_BUFFEREMPTY)
+ throw new DFBException (__PRETTY_FUNCTION__, ret);
+
+ return (ret == DFB_OK);
+}
+
+bool IDirectFBEventBuffer::PeekEvent (DFBEvent *event)
+{
+ DFBResult ret;
+
+ ret = iface->PeekEvent (iface, event);
+
+ if (ret != DFB_OK && ret != DFB_BUFFEREMPTY)
+ throw new DFBException (__PRETTY_FUNCTION__, ret);
+
+ return (ret == DFB_OK);
+}
+
+bool IDirectFBEventBuffer::HasEvent ()
+{
+ DFBResult ret;
+
+ ret = iface->HasEvent (iface);
+
+ if (ret != DFB_OK && ret != DFB_BUFFEREMPTY)
+ throw new DFBException (__PRETTY_FUNCTION__, ret);
+
+ return (ret == DFB_OK);
+}
+
+void IDirectFBEventBuffer::PostEvent (DFBEvent &event)
+{
+ DFBCHECK( iface->PostEvent (iface, &event) );
+}
+
+int IDirectFBEventBuffer::CreateFileDescriptor ()
+{
+ int fd;
+
+ DFBCHECK( iface->CreateFileDescriptor (iface, &fd) );
+
+ return fd;
+}
+
+void IDirectFBEventBuffer::EnableStatistics (DFBBoolean enable)
+{
+ DFBCHECK( iface->EnableStatistics (iface, enable) );
+}
+
+void IDirectFBEventBuffer::GetStatistics (DFBEventBufferStats *stats)
+{
+ DFBCHECK( iface->GetStatistics (iface, stats) );
+}
diff --git a/Source/++DFB/++dfb/idirectfbfont.cpp b/Source/++DFB/++dfb/idirectfbfont.cpp
new file mode 100755
index 0000000..06f67ec
--- /dev/null
+++ b/Source/++DFB/++dfb/idirectfbfont.cpp
@@ -0,0 +1,123 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+int IDirectFBFont::GetAscender() const
+{
+ int ascender;
+
+ DFBCHECK( iface->GetAscender (iface, &ascender) );
+
+ return ascender;
+}
+
+int IDirectFBFont::GetDescender() const
+{
+ int descender;
+
+ DFBCHECK( iface->GetDescender (iface, &descender) );
+
+ return descender;
+}
+
+int IDirectFBFont::GetHeight() const
+{
+ int height;
+
+ DFBCHECK( iface->GetHeight (iface, &height) );
+
+ return height;
+}
+
+int IDirectFBFont::GetMaxAdvance() const
+{
+ int max_advance;
+
+ DFBCHECK( iface->GetMaxAdvance (iface, &max_advance) );
+
+ return max_advance;
+}
+
+void IDirectFBFont::GetKerning (unsigned int prev_index,
+ unsigned int current_index,
+ int *kern_x,
+ int *kern_y) const
+{
+ DFBCHECK( iface->GetKerning (iface, prev_index, current_index, kern_x, kern_y) );
+}
+
+void IDirectFBFont::GetStringBreak (const char *text,
+ int bytes,
+ int max_width,
+ int *ret_width,
+ int *ret_str_length,
+ const char **ret_next_line) const
+{
+ DFBCHECK( iface->GetStringBreak(iface, text, bytes, max_width, ret_width, ret_str_length, ret_next_line) );
+}
+
+int IDirectFBFont::GetStringWidth (const char *text, int bytes) const
+{
+ int width;
+
+ DFBCHECK( iface->GetStringWidth (iface, text, bytes, &width) );
+
+ return width;
+}
+
+void IDirectFBFont::GetStringExtents (const char *text,
+ int bytes,
+ DFBRectangle *logical_rect,
+ DFBRectangle *ink_rect) const
+{
+ DFBCHECK( iface->GetStringExtents (iface, text, bytes,
+ logical_rect, ink_rect) );
+}
+
+void IDirectFBFont::GetGlyphExtents (unsigned int index,
+ DFBRectangle *rect,
+ int *advance) const
+{
+ DFBCHECK( iface->GetGlyphExtents (iface, index, rect, advance) );
+}
+
+void IDirectFBFont::SetEncoding (DFBTextEncodingID encoding)
+{
+ DFBCHECK( iface->SetEncoding (iface, encoding) );
+}
+
+void IDirectFBFont::EnumEncodings (DFBTextEncodingCallback callback,
+ void *callbackdata)
+{
+ DFBCHECK( iface->EnumEncodings (iface, callback, callbackdata) );
+}
+
+void IDirectFBFont::FindEncoding (const char *name,
+ DFBTextEncodingID *encoding)
+{
+ DFBCHECK( iface->FindEncoding (iface, name, encoding) );
+}
+
diff --git a/Source/++DFB/++dfb/idirectfbimageprovider.cpp b/Source/++DFB/++dfb/idirectfbimageprovider.cpp
new file mode 100755
index 0000000..c79d8e7
--- /dev/null
+++ b/Source/++DFB/++dfb/idirectfbimageprovider.cpp
@@ -0,0 +1,50 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+void IDirectFBImageProvider::GetSurfaceDescription (DFBSurfaceDescription *dsc)
+{
+ DFBCHECK( iface->GetSurfaceDescription (iface, dsc) );
+}
+
+void IDirectFBImageProvider::GetImageDescription (DFBImageDescription *dsc)
+{
+ DFBCHECK( iface->GetImageDescription (iface, dsc) );
+}
+
+void IDirectFBImageProvider::RenderTo (IDirectFBSurface *destination,
+ DFBRectangle *destination_rect)
+{
+ DFBCHECK( iface->RenderTo (iface,
+ destination->get_iface(), destination_rect) );
+}
+
+void IDirectFBImageProvider::SetRenderCallback (DIRenderCallback callback,
+ void *callback_data)
+{
+ DFBCHECK( iface->SetRenderCallback (iface, callback, callback_data) );
+}
+
diff --git a/Source/++DFB/++dfb/idirectfbinputdevice.cpp b/Source/++DFB/++dfb/idirectfbinputdevice.cpp
new file mode 100755
index 0000000..f1eadd2
--- /dev/null
+++ b/Source/++DFB/++dfb/idirectfbinputdevice.cpp
@@ -0,0 +1,125 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+DFBInputDeviceID IDirectFBInputDevice::GetID()
+{
+ DFBInputDeviceID device_id;
+
+ DFBCHECK( iface->GetID (iface, &device_id) );
+
+ return device_id;
+}
+
+void IDirectFBInputDevice::GetDescription (DFBInputDeviceDescription *desc)
+{
+ DFBCHECK( iface->GetDescription (iface, desc) );
+}
+
+void IDirectFBInputDevice::GetKeymapEntry (int code,
+ DFBInputDeviceKeymapEntry *entry)
+{
+ DFBCHECK( iface->GetKeymapEntry (iface, code, entry) );
+}
+
+IDirectFBEventBuffer IDirectFBInputDevice::CreateEventBuffer()
+{
+ IDirectFBEventBuffer_C *idirectfbeventbuffer;
+
+ DFBCHECK( iface->CreateEventBuffer (iface, &idirectfbeventbuffer) );
+
+ return IDirectFBEventBuffer (idirectfbeventbuffer);
+}
+
+void IDirectFBInputDevice::AttachEventBuffer (IDirectFBEventBuffer *buffer)
+{
+ DFBCHECK( iface->AttachEventBuffer (iface, buffer->get_iface()) );
+}
+
+void IDirectFBInputDevice::DetachEventBuffer (IDirectFBEventBuffer *buffer)
+{
+ DFBCHECK( iface->DetachEventBuffer (iface, buffer->get_iface()) );
+}
+
+DFBInputDeviceKeyState IDirectFBInputDevice::GetKeyState (DFBInputDeviceKeyIdentifier key_id)
+{
+ DFBInputDeviceKeyState state;
+
+ DFBCHECK( iface->GetKeyState (iface, key_id, &state) );
+
+ return state;
+}
+
+DFBInputDeviceModifierMask IDirectFBInputDevice::GetModifiers()
+{
+ DFBInputDeviceModifierMask modifiers;
+
+ DFBCHECK( iface->GetModifiers (iface, &modifiers) );
+
+ return modifiers;
+}
+
+DFBInputDeviceLockState IDirectFBInputDevice::GetLockState()
+{
+ DFBInputDeviceLockState state;
+
+ DFBCHECK( iface->GetLockState (iface, &state) );
+
+ return state;
+}
+
+DFBInputDeviceButtonMask IDirectFBInputDevice::GetButtons()
+{
+ DFBInputDeviceButtonMask mask;
+
+ DFBCHECK( iface->GetButtons (iface, &mask) );
+
+ return mask;
+}
+
+DFBInputDeviceButtonState IDirectFBInputDevice::GetButtonState (DFBInputDeviceButtonIdentifier button)
+{
+ DFBInputDeviceButtonState state;
+
+ DFBCHECK( iface->GetButtonState (iface, button, &state) );
+
+ return state;
+}
+
+int IDirectFBInputDevice::GetAxis (DFBInputDeviceAxisIdentifier axis)
+{
+ int value;
+
+ DFBCHECK( iface->GetAxis (iface, axis, &value) );
+
+ return value;
+}
+
+void IDirectFBInputDevice::GetXY (int *x, int *y)
+{
+ DFBCHECK( iface->GetXY (iface, x, y) );
+}
+
diff --git a/Source/++DFB/++dfb/idirectfbpalette.cpp b/Source/++DFB/++dfb/idirectfbpalette.cpp
new file mode 100755
index 0000000..0f62027
--- /dev/null
+++ b/Source/++DFB/++dfb/idirectfbpalette.cpp
@@ -0,0 +1,76 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+DFBPaletteCapabilities IDirectFBPalette::GetCapabilities()
+{
+ DFBPaletteCapabilities caps;
+
+ DFBCHECK( iface->GetCapabilities (iface, &caps) );
+
+ return caps;
+}
+
+unsigned int IDirectFBPalette::GetSize()
+{
+ unsigned int size;
+
+ DFBCHECK( iface->GetSize (iface, &size) );
+
+ return size;
+}
+
+void IDirectFBPalette::SetEntries (DFBColor *entries,
+ unsigned int num_entries,
+ unsigned int offset)
+{
+ DFBCHECK( iface->SetEntries (iface, entries, num_entries, offset) );
+}
+
+void IDirectFBPalette::GetEntries (DFBColor *entries,
+ unsigned int num_entries,
+ unsigned int offset)
+{
+ DFBCHECK( iface->GetEntries (iface, entries, num_entries, offset) );
+}
+
+unsigned int IDirectFBPalette::FindBestMatch (u8 r, u8 g, u8 b, u8 a)
+{
+ unsigned int index;
+
+ DFBCHECK( iface->FindBestMatch (iface, r, g, b, a, &index) );
+
+ return index;
+}
+
+IDirectFBPalette IDirectFBPalette::CreateCopy()
+{
+ IDirectFBPalette_C *idirectfbpalette;
+
+ DFBCHECK( iface->CreateCopy (iface, &idirectfbpalette) );
+
+ return IDirectFBPalette (idirectfbpalette);
+}
diff --git a/Source/++DFB/++dfb/idirectfbscreen.cpp b/Source/++DFB/++dfb/idirectfbscreen.cpp
new file mode 100755
index 0000000..e50c544
--- /dev/null
+++ b/Source/++DFB/++dfb/idirectfbscreen.cpp
@@ -0,0 +1,141 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+DFBScreenID IDirectFBScreen::GetID()
+{
+ DFBScreenID screen_id;
+
+ DFBCHECK( iface->GetID (iface, &screen_id) );
+
+ return screen_id;
+}
+
+DFBScreenDescription IDirectFBScreen::GetDescription()
+{
+ DFBScreenDescription desc;
+
+ DFBCHECK( iface->GetDescription (iface, &desc) );
+
+ return desc;
+}
+
+void IDirectFBScreen::GetSize (int *width,
+ int *height)
+{
+ DFBCHECK( iface->GetSize (iface, width, height) );
+}
+
+void IDirectFBScreen::EnumDisplayLayers (DFBDisplayLayerCallback callback,
+ void *callbackdata)
+{
+ DFBCHECK( iface->EnumDisplayLayers (iface, callback, callbackdata) );
+}
+
+void IDirectFBScreen::WaitForSync()
+{
+ DFBCHECK( iface->WaitForSync (iface) );
+}
+
+void IDirectFBScreen::SetPowerMode (DFBScreenPowerMode mode)
+{
+ DFBCHECK( iface->SetPowerMode (iface, mode) );
+}
+
+void IDirectFBScreen::GetMixerDescriptions (DFBScreenMixerDescription *descriptions)
+{
+ DFBCHECK( iface->GetMixerDescriptions (iface, descriptions) );
+}
+
+void IDirectFBScreen::GetMixerConfiguration (int mixer,
+ DFBScreenMixerConfig *config)
+{
+ DFBCHECK( iface->GetMixerConfiguration (iface, mixer, config) );
+}
+
+void IDirectFBScreen::TestMixerConfiguration (int mixer,
+ const DFBScreenMixerConfig &config,
+ DFBScreenMixerConfigFlags *failed)
+{
+ DFBCHECK( iface->TestMixerConfiguration (iface, mixer, &config, failed) );
+}
+
+void IDirectFBScreen::SetMixerConfiguration (int mixer,
+ const DFBScreenMixerConfig &config)
+{
+ DFBCHECK( iface->SetMixerConfiguration (iface, mixer, &config) );
+}
+
+
+void IDirectFBScreen::GetEncoderDescriptions (DFBScreenEncoderDescription *descriptions)
+{
+ DFBCHECK( iface->GetEncoderDescriptions (iface, descriptions) );
+}
+
+void IDirectFBScreen::GetEncoderConfiguration (int encoder,
+ DFBScreenEncoderConfig *config)
+{
+ DFBCHECK( iface->GetEncoderConfiguration (iface, encoder, config) );
+}
+
+void IDirectFBScreen::TestEncoderConfiguration (int encoder,
+ const DFBScreenEncoderConfig &config,
+ DFBScreenEncoderConfigFlags *failed)
+{
+ DFBCHECK( iface->TestEncoderConfiguration (iface, encoder, &config, failed) );
+}
+
+void IDirectFBScreen::SetEncoderConfiguration (int encoder,
+ const DFBScreenEncoderConfig &config)
+{
+ DFBCHECK( iface->SetEncoderConfiguration (iface, encoder, &config) );
+}
+
+
+void IDirectFBScreen::GetOutputDescriptions (DFBScreenOutputDescription *descriptions)
+{
+ DFBCHECK( iface->GetOutputDescriptions (iface, descriptions) );
+}
+
+void IDirectFBScreen::GetOutputConfiguration (int output,
+ DFBScreenOutputConfig *config)
+{
+ DFBCHECK( iface->GetOutputConfiguration (iface, output, config) );
+}
+
+void IDirectFBScreen::TestOutputConfiguration (int output,
+ const DFBScreenOutputConfig &config,
+ DFBScreenOutputConfigFlags *failed)
+{
+ DFBCHECK( iface->TestOutputConfiguration (iface, output, &config, failed) );
+}
+
+void IDirectFBScreen::SetOutputConfiguration (int output,
+ const DFBScreenOutputConfig &config)
+{
+ DFBCHECK( iface->SetOutputConfiguration (iface, output, &config) );
+}
+
diff --git a/Source/++DFB/++dfb/idirectfbsurface.cpp b/Source/++DFB/++dfb/idirectfbsurface.cpp
new file mode 100755
index 0000000..61689e8
--- /dev/null
+++ b/Source/++DFB/++dfb/idirectfbsurface.cpp
@@ -0,0 +1,466 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+DFBSurfaceCapabilities IDirectFBSurface::GetCapabilities()
+{
+ DFBSurfaceCapabilities caps;
+
+ DFBCHECK( iface->GetCapabilities (iface, &caps) );
+
+ return caps;
+}
+
+void IDirectFBSurface::GetPosition (int *x, int *y)
+{
+ DFBCHECK( iface->GetPosition (iface, x, y) );
+}
+
+void IDirectFBSurface::GetSize (int *width,
+ int *height)
+{
+ DFBCHECK( iface->GetSize (iface, width, height) );
+}
+
+void IDirectFBSurface::GetVisibleRectangle (DFBRectangle *rect)
+{
+ DFBCHECK( iface->GetVisibleRectangle (iface, rect) );
+}
+
+DFBSurfacePixelFormat IDirectFBSurface::GetPixelFormat()
+{
+ DFBSurfacePixelFormat format;
+
+ DFBCHECK( iface->GetPixelFormat (iface, &format) );
+
+ return format;
+}
+
+DFBAccelerationMask IDirectFBSurface::GetAccelerationMask (IDirectFBSurface *source)
+{
+ DFBAccelerationMask mask;
+
+ DFBCHECK( iface->GetAccelerationMask (iface, source->get_iface(), &mask) );
+
+ return mask;
+}
+
+IDirectFBPalette IDirectFBSurface::GetPalette()
+{
+ IDirectFBPalette_C *idirectfbpalette;
+
+ DFBCHECK( iface->GetPalette (iface, &idirectfbpalette) );
+
+ return IDirectFBPalette (idirectfbpalette);
+}
+
+void IDirectFBSurface::SetPalette (IDirectFBPalette *palette)
+{
+ DFBCHECK( iface->SetPalette (iface, palette->get_iface()) );
+}
+
+void IDirectFBSurface::SetAlphaRamp (u8 a0, u8 a1, u8 a2, u8 a3)
+{
+ DFBCHECK( iface->SetAlphaRamp (iface, a0, a1, a2, a3) );
+}
+
+void IDirectFBSurface::Lock (DFBSurfaceLockFlags flags,
+ void **ptr,
+ int *pitch)
+{
+ DFBCHECK( iface->Lock (iface, flags, ptr, pitch) );
+}
+
+void IDirectFBSurface::Unlock()
+{
+ DFBCHECK( iface->Unlock (iface) );
+}
+
+void IDirectFBSurface::Flip (DFBRegion *region,
+ DFBSurfaceFlipFlags flags)
+{
+ DFBCHECK( iface->Flip (iface, region, flags) );
+}
+
+void IDirectFBSurface::SetField (int field)
+{
+ DFBCHECK( iface->SetField (iface, field) );
+}
+
+void IDirectFBSurface::Clear (u8 r, u8 g, u8 b, u8 a)
+{
+ DFBCHECK( iface->Clear (iface, r, g, b, a) );
+}
+
+void IDirectFBSurface::Clear (DFBColor &c)
+{
+ DFBCHECK( iface->Clear (iface, c.r, c.g, c.b, c.a) );
+}
+
+void IDirectFBSurface::SetClip (const DFBRegion *clip)
+{
+ DFBCHECK( iface->SetClip (iface, clip) );
+}
+
+void IDirectFBSurface::SetClip (const DFBRectangle *clip)
+{
+ DFBRegion region( *clip );
+ DFBCHECK( iface->SetClip (iface, &region) );
+}
+
+void IDirectFBSurface::SetColor (u8 r, u8 g, u8 b, u8 a)
+{
+ DFBCHECK( iface->SetColor (iface, r, g, b, a) );
+}
+
+void IDirectFBSurface::SetColor (DFBColor &c)
+{
+ DFBCHECK( iface->SetColor (iface, c.r, c.g, c.b, c.a) );
+}
+
+void IDirectFBSurface::SetColorIndex (unsigned int index)
+{
+ DFBCHECK( iface->SetColorIndex (iface, index) );
+}
+
+void IDirectFBSurface::SetSrcBlendFunction (DFBSurfaceBlendFunction function)
+{
+ DFBCHECK( iface->SetSrcBlendFunction (iface, function) );
+}
+
+void IDirectFBSurface::SetDstBlendFunction (DFBSurfaceBlendFunction function)
+{
+ DFBCHECK( iface->SetDstBlendFunction (iface, function) );
+}
+
+void IDirectFBSurface::SetPorterDuff (DFBSurfacePorterDuffRule rule)
+{
+ DFBCHECK( iface->SetPorterDuff (iface, rule) );
+}
+
+void IDirectFBSurface::SetSrcColorKey (u8 r, u8 g, u8 b)
+{
+ DFBCHECK( iface->SetSrcColorKey (iface, r, g, b) );
+}
+
+void IDirectFBSurface::SetSrcColorKeyIndex (unsigned int index)
+{
+ DFBCHECK( iface->SetSrcColorKeyIndex (iface, index) );
+}
+
+void IDirectFBSurface::SetDstColorKey (u8 r, u8 g, u8 b)
+{
+ DFBCHECK( iface->SetDstColorKey (iface, r, g, b) );
+}
+
+void IDirectFBSurface::SetDstColorKeyIndex (unsigned int index)
+{
+ DFBCHECK( iface->SetDstColorKeyIndex (iface, index) );
+}
+
+void IDirectFBSurface::SetBlittingFlags (DFBSurfaceBlittingFlags flags)
+{
+ DFBCHECK( iface->SetBlittingFlags (iface, flags) );
+}
+
+void IDirectFBSurface::Blit (IDirectFBSurface *source,
+ const DFBRectangle *source_rect,
+ int x,
+ int y)
+{
+ DFBCHECK( iface->Blit (iface, source->get_iface(), source_rect, x, y) );
+}
+
+void IDirectFBSurface::TileBlit (IDirectFBSurface *source,
+ const DFBRectangle *source_rect,
+ int x,
+ int y)
+{
+ DFBCHECK( iface->TileBlit (iface, source->get_iface(), source_rect, x, y) );
+}
+
+void IDirectFBSurface::BatchBlit (IDirectFBSurface *source,
+ const DFBRectangle *source_rects,
+ const DFBPoint *dest_points,
+ int num)
+{
+ DFBCHECK( iface->BatchBlit (iface, source->get_iface(),
+ source_rects, dest_points, num) );
+}
+
+void IDirectFBSurface::StretchBlit (IDirectFBSurface *source,
+ const DFBRectangle *source_rect,
+ const DFBRectangle *destination_rect)
+{
+ DFBCHECK( iface->StretchBlit (iface, source->get_iface(),
+ source_rect, destination_rect) );
+}
+
+void IDirectFBSurface::TextureTriangles (IDirectFBSurface *source,
+ const DFBVertex *vertices,
+ const int *indices,
+ int num,
+ DFBTriangleFormation formation)
+{
+ DFBCHECK( iface->TextureTriangles (iface, source->get_iface(),
+ vertices, indices, num, formation) );
+}
+
+void IDirectFBSurface::SetDrawingFlags (DFBSurfaceDrawingFlags flags)
+{
+ DFBCHECK( iface->SetDrawingFlags (iface, flags) );
+}
+
+void IDirectFBSurface::FillRectangle (int x, int y, int width, int height)
+{
+ DFBCHECK( iface->FillRectangle (iface, x, y, width, height) );
+}
+
+void IDirectFBSurface::FillRectangle (DFBRectangle &rect)
+{
+ DFBCHECK( iface->FillRectangle (iface, rect.x, rect.y, rect.w, rect.h) );
+}
+
+void IDirectFBSurface::FillRectangle (DFBRegion &reg)
+{
+ DFBCHECK( iface->FillRectangle (iface, reg.x1, reg.y1, reg.x2-reg.x1+1, reg.y2-reg.y1+1) );
+}
+
+void IDirectFBSurface::DrawRectangle (int x, int y, int width, int height)
+{
+ DFBCHECK( iface->DrawRectangle (iface, x, y, width, height) );
+}
+
+void IDirectFBSurface::DrawLine (int x1, int y1, int x2, int y2)
+{
+ DFBCHECK( iface->DrawLine (iface, x1, y1, x2, y2) );
+}
+
+void IDirectFBSurface::DrawLines (const DFBRegion *lines, unsigned int num_lines)
+{
+ DFBCHECK( iface->DrawLines (iface, lines, num_lines) );
+}
+
+void IDirectFBSurface::FillRectangles (const DFBRectangle *rects, unsigned int num_rects)
+{
+ DFBCHECK( iface->FillRectangles (iface, rects, num_rects) );
+}
+
+void IDirectFBSurface::FillTriangle (int x1, int y1,
+ int x2, int y2,
+ int x3, int y3)
+{
+ DFBCHECK( iface->FillTriangle (iface, x1, y1, x2, y2, x3, y3) );
+}
+
+void IDirectFBSurface::FillSpans (int y,
+ const DFBSpan *spans,
+ unsigned int num)
+{
+ DFBCHECK( iface->FillSpans (iface, y, spans, num) );
+}
+
+void IDirectFBSurface::SetFont (const IDirectFBFont& font) const
+{
+ DFBCHECK( iface->SetFont (iface, font.get_iface()) );
+}
+
+IDirectFBFont IDirectFBSurface::GetFont() const
+{
+ IDirectFBFont_C *idirectfbfont;
+
+ DFBCHECK( iface->GetFont (iface, &idirectfbfont) );
+
+ return IDirectFBFont (idirectfbfont);
+}
+
+void IDirectFBSurface::DrawString (const char *text,
+ int bytes,
+ int x,
+ int y,
+ DFBSurfaceTextFlags flags)
+{
+ DFBCHECK( iface->DrawString (iface, text, bytes, x, y, flags) );
+}
+
+void IDirectFBSurface::DrawGlyph (unsigned int index,
+ int x,
+ int y,
+ DFBSurfaceTextFlags flags)
+{
+ DFBCHECK( iface->DrawGlyph (iface, index, x, y, flags) );
+}
+
+void IDirectFBSurface::SetEncoding (DFBTextEncodingID encoding)
+{
+ DFBCHECK( iface->SetEncoding (iface, encoding) );
+}
+
+IDirectFBSurface IDirectFBSurface::GetSubSurface (DFBRectangle *rect)
+{
+ IDirectFBSurface_C *idirectfbsurface;
+
+ DFBCHECK( iface->GetSubSurface (iface, rect, &idirectfbsurface) );
+
+ return IDirectFBSurface (idirectfbsurface);
+}
+
+int IDirectFBSurface::GetWidth()
+{
+ int width;
+
+ GetSize (&width, NULL);
+
+ return width;
+}
+
+int IDirectFBSurface::GetHeight()
+{
+ int height;
+
+ GetSize (NULL, &height);
+
+ return height;
+}
+
+void IDirectFBSurface::SetColor (const DFBColor &color)
+{
+ DFBCHECK( iface->SetColor (iface, color.r, color.g, color.b, color.a) );
+}
+
+void IDirectFBSurface::SetColor (const DFBColor *color)
+{
+ DFBCHECK( iface->SetColor (iface, color->r, color->g, color->b, color->a) );
+}
+
+void IDirectFBSurface::FillRectangle (const DFBRectangle &rect)
+{
+ DFBCHECK( iface->FillRectangle (iface, rect.x, rect.y, rect.w, rect.h) );
+}
+
+void IDirectFBSurface::DrawRectangle (const DFBRectangle &rect)
+{
+ DFBCHECK( iface->DrawRectangle (iface, rect.x, rect.y, rect.w, rect.h) );
+}
+
+void IDirectFBSurface::DrawLine (const DFBRegion &line)
+{
+ DFBCHECK( iface->DrawLine (iface, line.x1, line.y1, line.x2, line.y2) );
+}
+
+IDirectFBSurface IDirectFBSurface::GetSubSurface (int x, int y,
+ int width, int height)
+{
+ DFBRectangle rect( x, y, width, height );
+
+ IDirectFBSurface_C *idirectfbsurface;
+
+ DFBCHECK( iface->GetSubSurface (iface, &rect, &idirectfbsurface) );
+
+ return IDirectFBSurface (idirectfbsurface);
+}
+
+void IDirectFBSurface::Dump (const char *directory,
+ const char *prefix)
+{
+ DFBCHECK( iface->Dump (iface, directory, prefix) );
+}
+
+void IDirectFBSurface::DisableAcceleration (DFBAccelerationMask mask)
+{
+ DFBCHECK( iface->DisableAcceleration (iface, mask) );
+}
+
+IDirectFBGL *IDirectFBSurface::GetGL()
+{
+ IDirectFBGL *idirectfbgl;
+
+ DFBCHECK( iface->GetGL (iface, &idirectfbgl) );
+
+ return idirectfbgl;
+}
+
+void IDirectFBSurface::GetClip (DFBRegion *clip)
+{
+ DFBCHECK( iface->GetClip (iface, clip) );
+}
+
+int IDirectFBSurface::GetFramebufferOffset()
+{
+ int offset;
+
+ DFBCHECK( iface->GetFramebufferOffset (iface, &offset) );
+
+ return offset;
+}
+
+void IDirectFBSurface::ReleaseSource()
+{
+ DFBCHECK( iface->ReleaseSource (iface) );
+}
+
+void IDirectFBSurface::SetIndexTranslation (const int *indices,
+ int num_indices)
+{
+ DFBCHECK( iface->SetIndexTranslation (iface, indices, num_indices) );
+}
+
+void IDirectFBSurface::Read( void *ptr,
+ int pitch,
+ const DFBRectangle *rect )
+{
+ DFBRectangle r;
+
+ if (!rect) {
+ r.x = 0;
+ r.y = 0;
+
+ GetSize( &r.w, &r.h );
+
+ rect = &r;
+ }
+
+ DFBCHECK( iface->Read (iface, rect, ptr, pitch) );
+}
+
+void IDirectFBSurface::Write( const void *ptr,
+ int pitch,
+ const DFBRectangle *rect )
+{
+ DFBRectangle r;
+
+ if (!rect) {
+ r.x = 0;
+ r.y = 0;
+
+ GetSize( &r.w, &r.h );
+
+ rect = &r;
+ }
+
+ DFBCHECK( iface->Write (iface, rect, ptr, pitch) );
+}
+
diff --git a/Source/++DFB/++dfb/idirectfbvideoprovider.cpp b/Source/++DFB/++dfb/idirectfbvideoprovider.cpp
new file mode 100755
index 0000000..b16385c
--- /dev/null
+++ b/Source/++DFB/++dfb/idirectfbvideoprovider.cpp
@@ -0,0 +1,139 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+DFBVideoProviderCapabilities IDirectFBVideoProvider::GetCapabilities()
+{
+ DFBVideoProviderCapabilities caps;
+
+ DFBCHECK( iface->GetCapabilities (iface, &caps) );
+
+ return caps;
+}
+
+void IDirectFBVideoProvider::GetSurfaceDescription (DFBSurfaceDescription *dsc)
+{
+ DFBCHECK( iface->GetSurfaceDescription (iface, dsc) );
+}
+
+void IDirectFBVideoProvider::GetStreamDescription (DFBStreamDescription *dsc)
+{
+ DFBCHECK( iface->GetStreamDescription (iface, dsc) );
+}
+
+void IDirectFBVideoProvider::PlayTo (IDirectFBSurface *destination,
+ DFBRectangle *destination_rect,
+ DVFrameCallback callback,
+ void *ctx)
+{
+ DFBCHECK( iface->PlayTo (iface, destination->get_iface(),
+ destination_rect, callback, ctx) );
+}
+
+void IDirectFBVideoProvider::Stop()
+{
+ DFBCHECK( iface->Stop (iface) );
+}
+
+DFBVideoProviderStatus IDirectFBVideoProvider::GetStatus()
+{
+ DFBVideoProviderStatus status;
+
+ DFBCHECK( iface->GetStatus (iface, &status) );
+
+ return status;
+}
+
+void IDirectFBVideoProvider::SeekTo (double seconds)
+{
+ DFBCHECK( iface->SeekTo (iface, seconds) );
+}
+
+double IDirectFBVideoProvider::GetPos()
+{
+ double pos;
+
+ DFBCHECK( iface->GetPos (iface, &pos) );
+
+ return pos;
+}
+
+double IDirectFBVideoProvider::GetLength()
+{
+ double length;
+
+ DFBCHECK( iface->GetPos (iface, &length) );
+
+ return length;
+}
+
+void IDirectFBVideoProvider::GetColorAdjustment (DFBColorAdjustment *adj)
+{
+ DFBCHECK( iface->GetColorAdjustment (iface, adj) );
+}
+
+void IDirectFBVideoProvider::SetColorAdjustment (DFBColorAdjustment &adj)
+{
+ DFBCHECK( iface->SetColorAdjustment (iface, &adj) );
+}
+
+void IDirectFBVideoProvider::SendEvent (DFBEvent &evt)
+{
+ DFBCHECK( iface->SendEvent (iface, &evt) );
+}
+
+void IDirectFBVideoProvider::SetPlaybackFlags (DFBVideoProviderPlaybackFlags flags)
+{
+ DFBCHECK( iface->SetPlaybackFlags (iface, flags) );
+}
+
+void IDirectFBVideoProvider::SetSpeed (double multiplier)
+{
+ DFBCHECK( iface->SetSpeed (iface, multiplier) );
+}
+
+double IDirectFBVideoProvider::GetSpeed()
+{
+ double multiplier = -1;
+
+ DFBCHECK( iface->GetSpeed (iface, &multiplier) );
+
+ return multiplier;
+}
+
+void IDirectFBVideoProvider::SetVolume (float level)
+{
+ DFBCHECK( iface->SetVolume (iface, level) );
+}
+
+float IDirectFBVideoProvider::GetVolume()
+{
+ float level = -1;
+
+ DFBCHECK( iface->GetVolume (iface, &level) );
+
+ return level;
+ }
diff --git a/Source/++DFB/++dfb/idirectfbwindow.cpp b/Source/++DFB/++dfb/idirectfbwindow.cpp
new file mode 100755
index 0000000..771020a
--- /dev/null
+++ b/Source/++DFB/++dfb/idirectfbwindow.cpp
@@ -0,0 +1,251 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+DFBWindowID IDirectFBWindow::GetID()
+{
+ DFBWindowID window_id;
+
+ DFBCHECK( iface->GetID (iface, &window_id) );
+
+ return window_id;
+}
+
+void IDirectFBWindow::GetPosition (int *x, int *y)
+{
+ DFBCHECK( iface->GetPosition (iface, x, y) );
+}
+
+void IDirectFBWindow::GetSize (int *width,
+ int *height)
+{
+ DFBCHECK( iface->GetSize (iface, width, height) );
+}
+
+IDirectFBEventBuffer IDirectFBWindow::CreateEventBuffer()
+{
+ IDirectFBEventBuffer_C *idirectfbeventbuffer;
+
+ DFBCHECK( iface->CreateEventBuffer (iface, &idirectfbeventbuffer) );
+
+ static IDirectFBEventBuffer *buffer = new IDirectFBEventBuffer (idirectfbeventbuffer);
+ return *buffer;
+}
+
+void IDirectFBWindow::AttachEventBuffer (IDirectFBEventBuffer *buffer)
+{
+ DFBCHECK( iface->AttachEventBuffer (iface, buffer->get_iface()) );
+}
+
+void IDirectFBWindow::DetachEventBuffer (IDirectFBEventBuffer *buffer)
+{
+ DFBCHECK( iface->DetachEventBuffer (iface, buffer->get_iface()) );
+}
+
+void IDirectFBWindow::EnableEvents (DFBWindowEventType mask)
+{
+ DFBCHECK( iface->EnableEvents (iface, mask) );
+}
+
+void IDirectFBWindow::DisableEvents (DFBWindowEventType mask)
+{
+ DFBCHECK( iface->DisableEvents (iface, mask) );
+}
+
+IDirectFBSurface IDirectFBWindow::GetSurface()
+{
+ IDirectFBSurface_C *idirectfbsurface;
+
+ DFBCHECK( iface->GetSurface (iface, &idirectfbsurface) );
+
+ return IDirectFBSurface (idirectfbsurface);
+}
+
+void IDirectFBWindow::SetOptions (DFBWindowOptions options)
+{
+ DFBCHECK( iface->SetOptions (iface, options) );
+}
+
+DFBWindowOptions IDirectFBWindow::GetOptions ()
+{
+ DFBWindowOptions options;
+
+ DFBCHECK( iface->GetOptions (iface, &options) );
+
+ return options;
+}
+
+void IDirectFBWindow::SetColorKey (u8 r, u8 g, u8 b)
+{
+ DFBCHECK( iface->SetColorKey (iface, r, g, b) );
+}
+
+void IDirectFBWindow::SetColorKeyIndex (unsigned int index)
+{
+ DFBCHECK( iface->SetColorKeyIndex (iface, index) );
+}
+
+void IDirectFBWindow::SetOpacity (u8 opacity)
+{
+ DFBCHECK( iface->SetOpacity (iface, opacity) );
+}
+
+void IDirectFBWindow::SetOpaqueRegion (int x1, int y1, int x2, int y2)
+{
+ DFBCHECK( iface->SetOpaqueRegion (iface, x1, y1, x2, y2) );
+}
+
+u8 IDirectFBWindow::GetOpacity()
+{
+ u8 opacity;
+
+ DFBCHECK( iface->GetOpacity (iface, &opacity) );
+
+ return opacity;
+}
+
+void IDirectFBWindow::SetCursorShape (IDirectFBSurface *shape,
+ int hot_x,
+ int hot_y)
+{
+ DFBCHECK( iface->SetCursorShape (iface, shape->get_iface(), hot_x, hot_y) );
+}
+
+void IDirectFBWindow::RequestFocus()
+{
+ DFBCHECK( iface->RequestFocus (iface) );
+}
+
+void IDirectFBWindow::GrabKeyboard()
+{
+ DFBCHECK( iface->GrabKeyboard (iface) );
+}
+
+void IDirectFBWindow::UngrabKeyboard()
+{
+ DFBCHECK( iface->UngrabKeyboard (iface) );
+}
+
+void IDirectFBWindow::GrabPointer()
+{
+ DFBCHECK( iface->GrabPointer (iface) );
+}
+
+void IDirectFBWindow::UngrabPointer()
+{
+ DFBCHECK( iface->UngrabPointer (iface) );
+}
+
+void IDirectFBWindow::GrabKey (DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers)
+{
+ DFBCHECK( iface->GrabKey (iface, symbol, modifiers) );
+}
+
+void IDirectFBWindow::UngrabKey (DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers)
+{
+ DFBCHECK( iface->UngrabKey (iface, symbol, modifiers) );
+}
+
+void IDirectFBWindow::Move (int dx, int dy)
+{
+ DFBCHECK( iface->Move (iface, dx, dy) );
+}
+
+void IDirectFBWindow::MoveTo (int x, int y)
+{
+ DFBCHECK( iface->MoveTo (iface, x, y) );
+}
+
+void IDirectFBWindow::Resize (int width,
+ int height)
+{
+ DFBCHECK( iface->Resize (iface, width, height) );
+}
+
+void IDirectFBWindow::SetStackingClass (DFBWindowStackingClass stacking_class)
+{
+ DFBCHECK( iface->SetStackingClass (iface, stacking_class) );
+}
+
+void IDirectFBWindow::Raise()
+{
+ DFBCHECK( iface->Raise (iface) );
+}
+
+void IDirectFBWindow::Lower()
+{
+ DFBCHECK( iface->Lower (iface) );
+}
+
+void IDirectFBWindow::RaiseToTop()
+{
+ DFBCHECK( iface->RaiseToTop (iface) );
+}
+
+void IDirectFBWindow::LowerToBottom()
+{
+ DFBCHECK( iface->LowerToBottom (iface) );
+}
+
+void IDirectFBWindow::PutAtop (IDirectFBWindow *lower)
+{
+ DFBCHECK( iface->PutAtop (iface, lower->iface) );
+}
+
+void IDirectFBWindow::PutBelow (IDirectFBWindow *upper)
+{
+ DFBCHECK( iface->PutBelow (iface, upper->iface) );
+}
+
+void IDirectFBWindow::Close()
+{
+ DFBCHECK( iface->Close (iface) );
+}
+
+void IDirectFBWindow::Destroy()
+{
+ DFBCHECK( iface->Destroy (iface) );
+}
+
+void IDirectFBWindow::SetBounds (int x,
+ int y,
+ int width,
+ int height)
+{
+ DFBCHECK( iface->SetBounds (iface, x, y, width, height) );
+}
+
+void IDirectFBWindow::SetDstGeometry (DFBWindowGeometry *geometry)
+{
+ DFBCHECK( iface->SetDstGeometry (iface, geometry) );
+}
+
+void IDirectFBWindow::SetSrcGeometry (DFBWindowGeometry *geometry)
+{
+ DFBCHECK( iface->SetSrcGeometry (iface, geometry) );
+}
diff --git a/Source/++DFB/++dfb/ppdfb.cpp b/Source/++DFB/++dfb/ppdfb.cpp
new file mode 100755
index 0000000..fce3ed9
--- /dev/null
+++ b/Source/++DFB/++dfb/ppdfb.cpp
@@ -0,0 +1,87 @@
+/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@convergence.de>,
+ Andreas Hundt <andi@convergence.de> and
+ Sven Neumann <sven@convergence.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <stddef.h>
+#include <string.h>
+
+#include "++dfb.h"
+#include "++dfb_internal.h"
+
+DFBException::DFBException (const char *action, DFBResult result_code)
+{
+ const char *tmp = action;
+
+ while (*tmp != 0) {
+ if (!strncmp (tmp, " IDirectFB", 10)) {
+ action = tmp + 1;
+ break;
+ }
+
+ tmp++;
+ }
+
+ this->action = action;
+ this->result_code = result_code;
+
+ std::cerr << this << std::endl;
+}
+
+const char *DFBException::GetAction() const
+{
+ return action;
+}
+
+const char *DFBException::GetResult() const
+{
+ return DirectFBErrorString (result_code);
+}
+
+DFBResult DFBException::GetResultCode() const
+{
+ return result_code;
+}
+
+std::ostream &operator << (std::ostream &stream, DFBException *ex)
+{
+ stream << ex->GetAction() << " -> " << ex->GetResult();
+
+ return stream;
+}
+
+
+
+void DirectFB::Init (int *argc, char *(*argv[]))
+{
+ DFBCHECK( DirectFBInit (argc, argv) );
+}
+
+IDirectFB DirectFB::Create ()
+{
+ IDirectFB_C *idirectfb;
+
+ DFBCHECK( DirectFBCreate (&idirectfb) );
+
+ return IDirectFB (idirectfb);
+}
+