summaryrefslogtreecommitdiff
path: root/Source/++DFB/include
diff options
context:
space:
mode:
Diffstat (limited to 'Source/++DFB/include')
-rwxr-xr-xSource/++DFB/include/++dfb.h453
-rwxr-xr-xSource/++DFB/include/Makefile429
-rwxr-xr-xSource/++DFB/include/Makefile.am20
-rwxr-xr-xSource/++DFB/include/Makefile.in429
-rwxr-xr-xSource/++DFB/include/idirectfb.h97
-rwxr-xr-xSource/++DFB/include/idirectfbdatabuffer.h73
-rwxr-xr-xSource/++DFB/include/idirectfbdisplaylayer.h122
-rwxr-xr-xSource/++DFB/include/idirectfbeventbuffer.h71
-rwxr-xr-xSource/++DFB/include/idirectfbfont.h84
-rwxr-xr-xSource/++DFB/include/idirectfbimageprovider.h58
-rwxr-xr-xSource/++DFB/include/idirectfbinputdevice.h67
-rwxr-xr-xSource/++DFB/include/idirectfbpalette.h68
-rwxr-xr-xSource/++DFB/include/idirectfbscreen.h103
-rwxr-xr-xSource/++DFB/include/idirectfbsurface.h211
-rwxr-xr-xSource/++DFB/include/idirectfbvideoprovider.h77
-rwxr-xr-xSource/++DFB/include/idirectfbwindow.h117
16 files changed, 2479 insertions, 0 deletions
diff --git a/Source/++DFB/include/++dfb.h b/Source/++DFB/include/++dfb.h
new file mode 100755
index 0000000..fc7b863
--- /dev/null
+++ b/Source/++DFB/include/++dfb.h
@@ -0,0 +1,453 @@
+/*
+ (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_H
+#define DFBPP_H
+
+#ifdef __DIRECTFB_H__
+#error Please include '++dfb.h' before 'directfb.h'.
+#endif
+
+#include <iostream>
+
+#define IDirectFB IDirectFB_C
+#define IDirectFBScreen IDirectFBScreen_C
+#define IDirectFBDisplayLayer IDirectFBDisplayLayer_C
+#define IDirectFBSurface IDirectFBSurface_C
+#define IDirectFBPalette IDirectFBPalette_C
+#define IDirectFBWindow IDirectFBWindow_C
+#define IDirectFBInputDevice IDirectFBInputDevice_C
+#define IDirectFBEventBuffer IDirectFBEventBuffer_C
+#define IDirectFBFont IDirectFBFont_C
+#define IDirectFBImageProvider IDirectFBImageProvider_C
+#define IDirectFBVideoProvider IDirectFBVideoProvider_C
+#define IDirectFBDataBuffer IDirectFBDataBuffer_C
+
+#define DFBPoint DFBPoint_C
+#define DFBDimension DFBDimension_C
+#define DFBRectangle DFBRectangle_C
+#define DFBRegion DFBRegion_C
+
+
+extern "C" {
+#include <directfb.h>
+#include <directfb_strings.h>
+#include <directfb_util.h>
+}
+
+#undef IDirectFB
+#undef IDirectFBScreen
+#undef IDirectFBDisplayLayer
+#undef IDirectFBSurface
+#undef IDirectFBPalette
+#undef IDirectFBWindow
+#undef IDirectFBInputDevice
+#undef IDirectFBEventBuffer
+#undef IDirectFBFont
+#undef IDirectFBImageProvider
+#undef IDirectFBVideoProvider
+#undef IDirectFBDataBuffer
+
+#undef DFBPoint
+#undef DFBDimension
+#undef DFBRectangle
+#undef DFBRegion
+
+
+
+class DFBPoint : public DFBPoint_C {
+public:
+ DFBPoint() {
+ x = 0;
+ y = 0;
+ }
+
+ DFBPoint( const int &_x, const int &_y ) {
+ x = _x;
+ y = _y;
+ }
+
+ DFBPoint( const DFBPoint_C &point ) {
+ x = point.x;
+ y = point.y;
+ }
+
+ DFBPoint( const DFBRectangle_C &rectangle ) {
+ x = rectangle.x;
+ y = rectangle.y;
+ }
+
+ DFBPoint( const DFBRegion_C &region ) {
+ x = region.x1;
+ y = region.y1;
+ }
+
+ bool operator== ( const DFBPoint &ref ) const {
+ return ref.x == x && ref.y == y;
+ }
+
+ DFBPoint operator +( const DFBPoint &offset ) const {
+ DFBPoint p( *this );
+ p.x += offset.x;
+ p.y += offset.y;
+ return p;
+ }
+
+ DFBPoint& operator +=( const DFBPoint& offset ) {
+ x += offset.x;
+ y += offset.y;
+ return *this;
+ }
+};
+
+class DFBDimension : public DFBDimension_C {
+public:
+ DFBDimension() {
+ w = 0;
+ h = 0;
+ }
+
+ DFBDimension( const int &_w, const int &_h ) {
+ w = _w;
+ h = _h;
+ }
+
+ DFBDimension( const DFBDimension_C &dimension ) {
+ w = dimension.w;
+ h = dimension.h;
+ }
+
+ DFBDimension( const DFBPoint_C &point ) {
+ w = point.x;
+ h = point.y;
+ }
+
+ DFBDimension( const DFBRectangle_C &rectangle ) {
+ w = rectangle.w;
+ h = rectangle.h;
+ }
+
+ DFBDimension( const DFBRegion_C &region ) {
+ w = region.x2 - region.x1 + 1;
+ h = region.y2 - region.y1 + 1;
+ }
+
+ bool operator== ( const DFBDimension &ref ) const {
+ return ref.w == w && ref.h == h;
+ }
+
+ bool contains( const DFBRegion_C &region ) const {
+ if (region.x1 < 0 || region.y1 < 0)
+ return false;
+
+ if (region.x2 >= w || region.y2 >= h)
+ return false;
+
+ return true;
+ }
+};
+
+
+
+class DFBRectangle : public DFBRectangle_C {
+public:
+ DFBRectangle() {
+ x = 0;
+ y = 0;
+ w = 0;
+ h = 0;
+ }
+
+ DFBRectangle( const int &_x, const int &_y, const int &_w, const int &_h ) {
+ x = _x;
+ y = _y;
+ w = _w;
+ h = _h;
+ }
+
+ DFBRectangle( const DFBRectangle_C &rectangle ) {
+ x = rectangle.x;
+ y = rectangle.y;
+ w = rectangle.w;
+ h = rectangle.h;
+ }
+
+ DFBRectangle( const DFBRegion_C &region ) {
+ x = region.x1;
+ y = region.y1;
+ w = region.x2 - region.x1 + 1;
+ h = region.y2 - region.y1 + 1;
+ }
+
+ DFBRectangle( const DFBDimension_C &dimension ) {
+ x = 0;
+ y = 0;
+ w = dimension.w;
+ h = dimension.h;
+ }
+
+ DFBRectangle( const DFBPoint_C &point, const DFBDimension_C &dimension ) {
+ x = point.x;
+ y = point.y;
+ w = dimension.w;
+ h = dimension.h;
+ }
+
+ bool operator== ( const DFBRectangle &ref ) const {
+ return ref.x == x && ref.y == y && ref.w == w && ref.h == h;
+ }
+
+ DFBRectangle& operator-= ( const DFBPoint &sub ) {
+ x -= sub.x;
+ y -= sub.y;
+
+ return *this;
+ }
+
+ DFBRectangle operator -( const DFBPoint &sub ) const {
+ return DFBRectangle( x - sub.x, y - sub.y, w, h );
+ }
+
+ DFBRectangle operator +( const DFBPoint &offset ) const {
+ DFBRectangle r( *this );
+ r.x += offset.x;
+ r.y += offset.y;
+ return r;
+ }
+};
+
+
+class DFBRegion : public DFBRegion_C {
+public:
+ DFBRegion() {
+ x1 = 0;
+ y1 = 0;
+ x2 = 0;
+ y2 = 0;
+ }
+
+ DFBRegion( const int &_x1, const int &_y1, const int &_x2, const int &_y2 ) {
+ x1 = _x1;
+ y1 = _y1;
+ x2 = _x2;
+ y2 = _y2;
+ }
+
+ DFBRegion( const DFBRegion_C &region ) {
+ x1 = region.x1;
+ y1 = region.y1;
+ x2 = region.x2;
+ y2 = region.y2;
+ }
+
+ DFBRegion( const DFBRectangle_C &rectangle ) {
+ x1 = rectangle.x;
+ y1 = rectangle.y;
+ x2 = x1 + rectangle.w - 1;
+ y2 = y1 + rectangle.h - 1;
+ }
+
+ DFBRegion( const DFBDimension_C &dimension ) {
+ x1 = 0;
+ y1 = 0;
+ x2 = dimension.w - 1;
+ y2 = dimension.h - 1;
+ }
+
+ DFBRegion( const DFBPoint_C &point, const DFBDimension_C &dimension ) {
+ x1 = point.x;
+ y1 = point.y;
+ x2 = x1 + dimension.w - 1;
+ y2 = y1 + dimension.h - 1;
+ }
+
+ bool operator== ( const DFBRegion &ref ) const {
+ return ref.x1 == x1 && ref.y1 == y1 && ref.x2 == x2 && ref.y2 == y2;
+ }
+
+ DFBRegion& operator-= ( const DFBPoint &sub ) {
+ x1 -= sub.x;
+ y1 -= sub.y;
+ x2 -= sub.x;
+ y2 -= sub.y;
+
+ return *this;
+ }
+
+ DFBRegion operator- ( const DFBPoint &sub ) const {
+ return DFBRegion( x1 - sub.x, y1 - sub.y, x2 - sub.x, y2 - sub.y );
+ }
+
+ DFBRegion& operator|= ( const DFBRegion &r ) {
+ if (r.x1 < x1)
+ x1 = r.x1;
+
+ if (r.y1 < y1)
+ y1 = r.y1;
+
+ if (r.x2 > x2)
+ x2 = r.x2;
+
+ if (r.y2 > y2)
+ y2 = r.y2;
+
+ return *this;
+ }
+
+ void unionWith ( const DFBRegion &r ) {
+ if (r.x1 < x1)
+ x1 = r.x1;
+
+ if (r.y1 < y1)
+ y1 = r.y1;
+
+ if (r.x2 > x2)
+ x2 = r.x2;
+
+ if (r.y2 > y2)
+ y2 = r.y2;
+ }
+};
+
+
+
+template <class IMPLEMENTINGCLASS, class IPPAny_C>
+class IPPAny
+{
+ protected:
+ IPPAny(IPPAny_C *iface) {
+ this->iface = iface;
+ }
+ inline IPPAny_C *get_iface() { return iface; }
+ inline IPPAny_C *get_iface() const { return iface; }
+
+ public:
+ IPPAny_C* iface;
+ public:
+ IPPAny(){
+ iface = NULL;
+ }
+
+ IPPAny(const IPPAny &other) {
+ IPPAny_C *other_iface = other.iface;
+ if (other_iface)
+ other_iface->AddRef( other_iface );
+ iface = other_iface;
+ }
+
+ virtual ~IPPAny() {
+ if (iface)
+ iface->Release( iface );
+ }
+ inline operator IMPLEMENTINGCLASS*() {
+ return dynamic_cast<IMPLEMENTINGCLASS*>(this);
+ }
+ inline operator IMPLEMENTINGCLASS*() const{
+ return dynamic_cast<IMPLEMENTINGCLASS*> (this);
+ }
+ inline operator bool() {
+ return iface != NULL;
+ }
+ inline IMPLEMENTINGCLASS &operator = (const IMPLEMENTINGCLASS &other) {
+ IPPAny_C *other_iface = other.iface;
+
+ if (other_iface)
+ other_iface->AddRef( other_iface );
+ if (iface)
+ iface->Release( iface );
+ iface = other_iface;
+ return dynamic_cast<IMPLEMENTINGCLASS&>(*this);
+ }
+ inline IMPLEMENTINGCLASS &operator = (IPPAny_C *other_iface) {
+ if (other_iface)
+ other_iface->AddRef( other_iface );
+ if (iface)
+ iface->Release( iface );
+ iface = other_iface;
+ return dynamic_cast<IMPLEMENTINGCLASS&>(*this);
+ }
+};
+
+
+
+
+class DirectFB;
+class IDirectFB;
+class IDirectFBScreen;
+class IDirectFBDisplayLayer;
+class IDirectFBSurface;
+class IDirectFBPalette;
+class IDirectFBWindow;
+class IDirectFBInputDevice;
+class IDirectFBEventBuffer;
+class IDirectFBFont;
+class IDirectFBImageProvider;
+class IDirectFBVideoProvider;
+class IDirectFBDataBuffer;
+
+
+#include "idirectfb.h"
+#include "idirectfbscreen.h"
+#include "idirectfbdisplaylayer.h"
+#include "idirectfbsurface.h"
+#include "idirectfbpalette.h"
+#include "idirectfbwindow.h"
+#include "idirectfbinputdevice.h"
+#include "idirectfbeventbuffer.h"
+#include "idirectfbfont.h"
+#include "idirectfbimageprovider.h"
+#include "idirectfbvideoprovider.h"
+#include "idirectfbdatabuffer.h"
+
+
+#define DFB_ADD_SURFACE_DESC(d,f) (d) = static_cast<DFBSurfaceDescriptionFlags> ((d) | (f))
+#define DFB_ADD_SURFACE_CAPS(c,f) (c) = static_cast<DFBSurfaceCapabilities> ((c) | (f))
+#define DFB_ADD_DRAWING_FLAG(d,f) (d) = static_cast<DFBSurfaceDrawingFlags> ((d) | (f))
+#define DFB_ADD_BLITTING_FLAG(b,f) (b) = static_cast<DFBSurfaceBlittingFlags> ((b) | (f))
+
+
+class DirectFB {
+public:
+ static void Init (int *argc = NULL, char *(*argv[]) = NULL);
+ static IDirectFB Create ();
+};
+
+class DFBException {
+public:
+ DFBException (const char *action, DFBResult result_code);
+
+ const char *GetAction() const;
+ const char *GetResult() const;
+ DFBResult GetResultCode() const;
+
+ friend std::ostream &operator << (std::ostream &stream, DFBException *ex);
+
+private:
+ const char *action;
+ DFBResult result_code;
+};
+
+
+
+#endif
diff --git a/Source/++DFB/include/Makefile b/Source/++DFB/include/Makefile
new file mode 100755
index 0000000..8750b47
--- /dev/null
+++ b/Source/++DFB/include/Makefile
@@ -0,0 +1,429 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# include/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 = include
+DIST_COMMON = $(dfbppinclude_HEADERS) $(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 =
+SOURCES =
+DIST_SOURCES =
+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)$(dfbppincludedir)"
+dfbppincludeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(dfbppinclude_HEADERS)
+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/include
+abs_srcdir = /home/dok/cvs/directfb/++DFB/include
+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
+dfbppincludedir = $(includedir)/++dfb
+dfbppinclude_HEADERS = \
+ ++dfb.h \
+ idirectfb.h \
+ idirectfbdatabuffer.h \
+ idirectfbdisplaylayer.h \
+ idirectfbeventbuffer.h \
+ idirectfbfont.h \
+ idirectfbimageprovider.h \
+ idirectfbinputdevice.h \
+ idirectfbpalette.h \
+ idirectfbscreen.h \
+ idirectfbsurface.h \
+ idirectfbvideoprovider.h \
+ idirectfbwindow.h
+
+all: all-am
+
+.SUFFIXES:
+$(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 include/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu include/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
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-dfbppincludeHEADERS: $(dfbppinclude_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(dfbppincludedir)" || $(MKDIR_P) "$(DESTDIR)$(dfbppincludedir)"
+ @list='$(dfbppinclude_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(dfbppincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(dfbppincludedir)/$$f'"; \
+ $(dfbppincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(dfbppincludedir)/$$f"; \
+ done
+
+uninstall-dfbppincludeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dfbppinclude_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(dfbppincludedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(dfbppincludedir)/$$f"; \
+ done
+
+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 $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(dfbppincludedir)"; 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-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dfbppincludeHEADERS
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+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 -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dfbppincludeHEADERS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool ctags distclean 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-dfbppincludeHEADERS install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am 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-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-dfbppincludeHEADERS
+
+# 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/include/Makefile.am b/Source/++DFB/include/Makefile.am
new file mode 100755
index 0000000..42e7337
--- /dev/null
+++ b/Source/++DFB/include/Makefile.am
@@ -0,0 +1,20 @@
+## Makefile.am for ++DFB/include
+
+INCLUDES = -I$(top_srcdir)/include
+
+dfbppincludedir = $(includedir)/++dfb
+
+dfbppinclude_HEADERS = \
+ ++dfb.h \
+ idirectfb.h \
+ idirectfbdatabuffer.h \
+ idirectfbdisplaylayer.h \
+ idirectfbeventbuffer.h \
+ idirectfbfont.h \
+ idirectfbimageprovider.h \
+ idirectfbinputdevice.h \
+ idirectfbpalette.h \
+ idirectfbscreen.h \
+ idirectfbsurface.h \
+ idirectfbvideoprovider.h \
+ idirectfbwindow.h
diff --git a/Source/++DFB/include/Makefile.in b/Source/++DFB/include/Makefile.in
new file mode 100755
index 0000000..9703607
--- /dev/null
+++ b/Source/++DFB/include/Makefile.in
@@ -0,0 +1,429 @@
+# 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 = include
+DIST_COMMON = $(dfbppinclude_HEADERS) $(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 =
+SOURCES =
+DIST_SOURCES =
+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)$(dfbppincludedir)"
+dfbppincludeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(dfbppinclude_HEADERS)
+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
+dfbppincludedir = $(includedir)/++dfb
+dfbppinclude_HEADERS = \
+ ++dfb.h \
+ idirectfb.h \
+ idirectfbdatabuffer.h \
+ idirectfbdisplaylayer.h \
+ idirectfbeventbuffer.h \
+ idirectfbfont.h \
+ idirectfbimageprovider.h \
+ idirectfbinputdevice.h \
+ idirectfbpalette.h \
+ idirectfbscreen.h \
+ idirectfbsurface.h \
+ idirectfbvideoprovider.h \
+ idirectfbwindow.h
+
+all: all-am
+
+.SUFFIXES:
+$(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 include/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu include/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
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-dfbppincludeHEADERS: $(dfbppinclude_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(dfbppincludedir)" || $(MKDIR_P) "$(DESTDIR)$(dfbppincludedir)"
+ @list='$(dfbppinclude_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(dfbppincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(dfbppincludedir)/$$f'"; \
+ $(dfbppincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(dfbppincludedir)/$$f"; \
+ done
+
+uninstall-dfbppincludeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dfbppinclude_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(dfbppincludedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(dfbppincludedir)/$$f"; \
+ done
+
+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 $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(dfbppincludedir)"; 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-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dfbppincludeHEADERS
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+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 -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dfbppincludeHEADERS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool ctags distclean 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-dfbppincludeHEADERS install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am 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-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-dfbppincludeHEADERS
+
+# 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/include/idirectfb.h b/Source/++DFB/include/idirectfb.h
new file mode 100755
index 0000000..71e5b57
--- /dev/null
+++ b/Source/++DFB/include/idirectfb.h
@@ -0,0 +1,97 @@
+/*
+ (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 IDIRECTFB_H
+#define IDIRECTFB_H
+
+#ifndef DFBPP_H
+#error Please include ++dfb.h only.
+#endif
+
+class IDirectFB :public IPPAny<IDirectFB, IDirectFB_C>{
+friend
+ class DirectFB;
+
+public:
+ IDirectFB(IDirectFB_C *myptr = NULL):IPPAny<IDirectFB, IDirectFB_C>(myptr){}
+ ~IDirectFB(){}
+ void SetCooperativeLevel (DFBCooperativeLevel level);
+ void SetVideoMode (unsigned int width,
+ unsigned int height,
+ unsigned int bpp);
+
+ void GetDeviceDescription (DFBGraphicsDeviceDescription *desc);
+ void EnumVideoModes (DFBVideoModeCallback callback,
+ void *callbackdata);
+
+ IDirectFBSurface CreateSurface (DFBSurfaceDescription &desc) const;
+ IDirectFBPalette CreatePalette (DFBPaletteDescription &desc);
+
+ void EnumScreens (DFBScreenCallback callback,
+ void *callbackdata);
+ IDirectFBScreen GetScreen (DFBScreenID screen_id);
+
+ void EnumDisplayLayers (DFBDisplayLayerCallback callback,
+ void *callbackdata);
+ IDirectFBDisplayLayer GetDisplayLayer (DFBDisplayLayerID layer_id);
+
+ void EnumInputDevices (DFBInputDeviceCallback callback,
+ void *callbackdata) const;
+ IDirectFBInputDevice GetInputDevice (DFBInputDeviceID device_id) const;
+ IDirectFBEventBuffer CreateEventBuffer () const;
+ IDirectFBEventBuffer CreateInputEventBuffer (DFBInputDeviceCapabilities caps,
+ DFBBoolean global = DFB_FALSE);
+
+ IDirectFBImageProvider CreateImageProvider (const char *filename) const;
+ IDirectFBVideoProvider CreateVideoProvider (const char *filename);
+ IDirectFBFont CreateFont (const char *filename,
+ DFBFontDescription &desc) const ;
+ IDirectFBDataBuffer CreateDataBuffer (DFBDataBufferDescription &desc);
+
+ struct timeval SetClipboardData (const char *mime_type,
+ const void *data,
+ unsigned int size);
+ void GetClipboardData (char **mime_type,
+ void **data,
+ unsigned int *size);
+ struct timeval GetClipboardTimeStamp ();
+
+ void Suspend ();
+ void Resume ();
+ void WaitIdle ();
+ void WaitForSync ();
+
+ void *GetInterface (const char *type,
+ const char *implementation,
+ void *arg);
+
+ inline IDirectFB& operator = (const IDirectFB& other){
+ return IPPAny<IDirectFB, IDirectFB_C>::operator =(other);
+ }
+ inline IDirectFB& operator = (IDirectFB_C* other){
+ return IPPAny<IDirectFB, IDirectFB_C>::operator =(other);
+ }
+};
+
+#endif
diff --git a/Source/++DFB/include/idirectfbdatabuffer.h b/Source/++DFB/include/idirectfbdatabuffer.h
new file mode 100755
index 0000000..d92abe9
--- /dev/null
+++ b/Source/++DFB/include/idirectfbdatabuffer.h
@@ -0,0 +1,73 @@
+/*
+ (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 IDIRECTFBDATABUFFER_H
+#define IDIRECTFBDATABUFFER_H
+
+#ifndef DFBPP_H
+#error Please include ++dfb.h only.
+#endif
+
+class IDirectFBDataBuffer : public IPPAny<IDirectFBDataBuffer, IDirectFBDataBuffer_C> {
+friend
+ class IDirectFB;
+
+public:
+ IDirectFBDataBuffer(IDirectFBDataBuffer_C *myptr=NULL):IPPAny<IDirectFBDataBuffer, IDirectFBDataBuffer_C>(myptr){}
+
+ void Flush ();
+ void Finish ();
+ void SeekTo (unsigned int offset);
+ unsigned int GetPosition ();
+ unsigned int GetLength ();
+
+ void WaitForData (unsigned int length);
+ void WaitForDataWithTimeout (unsigned int length,
+ unsigned int seconds,
+ unsigned int milli_seconds);
+
+ unsigned int GetData (unsigned int length,
+ void *data);
+ unsigned int PeekData (unsigned int length,
+ int offset,
+ void *data);
+
+ bool HasData ();
+
+ void PutData (const void *data,
+ unsigned int length);
+
+ IDirectFBImageProvider CreateImageProvider ();
+ IDirectFBVideoProvider CreateVideoProvider ();
+
+ inline IDirectFBDataBuffer& operator = (const IDirectFBDataBuffer& other){
+ return IPPAny<IDirectFBDataBuffer, IDirectFBDataBuffer_C>::operator =(other);
+ }
+ inline IDirectFBDataBuffer& operator = (IDirectFBDataBuffer_C* other){
+ return IPPAny<IDirectFBDataBuffer, IDirectFBDataBuffer_C>::operator =(other);
+ }
+
+};
+
+#endif
diff --git a/Source/++DFB/include/idirectfbdisplaylayer.h b/Source/++DFB/include/idirectfbdisplaylayer.h
new file mode 100755
index 0000000..474aaf1
--- /dev/null
+++ b/Source/++DFB/include/idirectfbdisplaylayer.h
@@ -0,0 +1,122 @@
+/*
+ (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 IDIRECTFBDISPLAYLAYER_H
+#define IDIRECTFBDISPLAYLAYER_H
+
+#ifndef DFBPP_H
+#error Please include ++dfb.h only.
+#endif
+
+class IDirectFBDisplayLayer : public IPPAny<IDirectFBDisplayLayer, IDirectFBDisplayLayer_C> {
+friend
+ class IDirectFB;
+
+public:
+ IDirectFBDisplayLayer(IDirectFBDisplayLayer_C* myptr=NULL):IPPAny<IDirectFBDisplayLayer, IDirectFBDisplayLayer_C>(myptr){}
+
+ DFBDisplayLayerID GetID ();
+
+ DFBDisplayLayerDescription
+ GetDescription ();
+
+ void GetSourceDescriptions (DFBDisplayLayerSourceDescription *desc);
+
+ IDirectFBSurface GetSurface ();
+
+ IDirectFBScreen GetScreen ();
+
+ void SetCooperativeLevel (DFBDisplayLayerCooperativeLevel level);
+ void SetOpacity (u8 opacity);
+ void SetSourceRectangle (int x,
+ int y,
+ int width,
+ int height);
+ void SetScreenLocation (float x,
+ float y,
+ float width,
+ float height);
+ void SetScreenPosition (int x,
+ int y);
+ void SetScreenRectangle (int x,
+ int y,
+ int width,
+ int height);
+ void SetClipRegions (const DFBRegion *regions,
+ int num_regions,
+ DFBBoolean positive);
+ void SetSrcColorKey (u8 r,
+ u8 g,
+ u8 b);
+ void SetDstColorKey (u8 r,
+ u8 g,
+ u8 b);
+ int GetLevel ();
+ void SetLevel (int level);
+ int GetCurrentOutputField ();
+ void SetFieldParity (int field);
+ void WaitForSync ();
+
+ void GetConfiguration (DFBDisplayLayerConfig *config);
+ void TestConfiguration (DFBDisplayLayerConfig &config,
+ DFBDisplayLayerConfigFlags *failed = NULL);
+ void SetConfiguration (DFBDisplayLayerConfig &config);
+
+ void SetBackgroundMode (DFBDisplayLayerBackgroundMode mode);
+ void SetBackgroundImage (IDirectFBSurface *surface);
+ void SetBackgroundColor (u8 r,
+ u8 g,
+ u8 b,
+ u8 a = 0xFF);
+
+ void GetColorAdjustment (DFBColorAdjustment *adj);
+ void SetColorAdjustment (DFBColorAdjustment &adj);
+
+ IDirectFBWindow CreateWindow (DFBWindowDescription &desc);
+ IDirectFBWindow GetWindow (DFBWindowID window_id);
+
+ void EnableCursor (bool enable);
+ void GetCursorPosition (int *x,
+ int *y);
+ void WarpCursor (int x,
+ int y);
+ void SetCursorAcceleration (int numerator,
+ int denominator,
+ int threshold);
+ void SetCursorShape (IDirectFBSurface *shape,
+ int hot_x,
+ int hot_y);
+ void SetCursorOpacity (u8 opacity);
+
+ void SwitchContext (DFBBoolean exclusive);
+
+ inline IDirectFBDisplayLayer& operator = (const IDirectFBDisplayLayer& other){
+ return IPPAny<IDirectFBDisplayLayer, IDirectFBDisplayLayer_C>::operator =(other);
+ }
+ inline IDirectFBDisplayLayer& operator = (IDirectFBDisplayLayer_C* other){
+ return IPPAny<IDirectFBDisplayLayer, IDirectFBDisplayLayer_C>::operator =(other);
+ }
+};
+
+#endif
diff --git a/Source/++DFB/include/idirectfbeventbuffer.h b/Source/++DFB/include/idirectfbeventbuffer.h
new file mode 100755
index 0000000..286f108
--- /dev/null
+++ b/Source/++DFB/include/idirectfbeventbuffer.h
@@ -0,0 +1,71 @@
+/*
+ (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 IDIRECTFBEVENTBUFFER_H
+#define IDIRECTFBEVENTBUFFER_H
+
+#ifndef DFBPP_H
+#error Please include ++dfb.h only.
+#endif
+
+class IDirectFBEventBuffer : public IPPAny<IDirectFBEventBuffer, IDirectFBEventBuffer_C> {
+friend
+ class IDirectFB;
+friend
+ class IDirectFBInputDevice;
+friend
+ class IDirectFBWindow;
+
+public:
+ IDirectFBEventBuffer(IDirectFBEventBuffer_C* myptr=NULL):IPPAny<IDirectFBEventBuffer, IDirectFBEventBuffer_C>(myptr){}
+
+ void Reset ();
+
+ void WaitForEvent ();
+ bool WaitForEventWithTimeout (unsigned int seconds,
+ unsigned int milli_seconds);
+
+ void WakeUp ();
+
+ bool GetEvent (DFBEvent *event);
+ bool PeekEvent (DFBEvent *event);
+ bool HasEvent ();
+
+ void PostEvent (DFBEvent &event);
+
+ int CreateFileDescriptor ();
+
+ void EnableStatistics (DFBBoolean enable);
+ void GetStatistics (DFBEventBufferStats *stats);
+
+ inline IDirectFBEventBuffer& operator = (const IDirectFBEventBuffer& other){
+ return IPPAny<IDirectFBEventBuffer, IDirectFBEventBuffer_C>::operator =(other);
+ }
+ inline IDirectFBEventBuffer& operator = (IDirectFBEventBuffer_C* other){
+ return IPPAny<IDirectFBEventBuffer, IDirectFBEventBuffer_C>::operator =(other);
+ }
+
+};
+
+#endif
diff --git a/Source/++DFB/include/idirectfbfont.h b/Source/++DFB/include/idirectfbfont.h
new file mode 100755
index 0000000..9222982
--- /dev/null
+++ b/Source/++DFB/include/idirectfbfont.h
@@ -0,0 +1,84 @@
+/*
+ (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 IDIRECTFBFONT_H
+#define IDIRECTFBFONT_H
+
+#ifndef DFBPP_H
+#error Please include ++dfb.h only.
+#endif
+
+class IDirectFBFont : public IPPAny<IDirectFBFont, IDirectFBFont_C> {
+friend
+ class IDirectFB;
+friend
+ class IDirectFBSurface;
+
+public:
+ IDirectFBFont(IDirectFBFont_C* myptr=NULL):IPPAny<IDirectFBFont, IDirectFBFont_C>(myptr){}
+
+ int GetAscender () const;
+ int GetDescender () const;
+ int GetHeight () const;
+ int GetMaxAdvance () const;
+
+ void GetKerning (unsigned int prev_index,
+ unsigned int current_index,
+ int *kern_x,
+ int *kern_y) const;
+
+ void GetStringBreak (const char *text,
+ int bytes,
+ int max_width,
+ int *ret_width,
+ int *ret_str_length,
+ const char **ret_next_line) const;
+
+ int GetStringWidth (const char *text,
+ int bytes = -1) const;
+ void GetStringExtents (const char *text,
+ int bytes,
+ DFBRectangle *logical_rect,
+ DFBRectangle *ink_rect) const;
+ void GetGlyphExtents (unsigned int index,
+ DFBRectangle *rect,
+ int *advance) const;
+
+ void SetEncoding (DFBTextEncodingID encoding);
+ void EnumEncodings (DFBTextEncodingCallback callback,
+ void *callbackdata);
+ void FindEncoding (const char *name,
+ DFBTextEncodingID *encoding);
+
+
+ inline IDirectFBFont& operator = (const IDirectFBFont& other){
+ return IPPAny<IDirectFBFont, IDirectFBFont_C>::operator =(other);
+ }
+ inline IDirectFBFont& operator = (IDirectFBFont_C* other){
+ return IPPAny<IDirectFBFont, IDirectFBFont_C>::operator =(other);
+ }
+
+};
+
+#endif
diff --git a/Source/++DFB/include/idirectfbimageprovider.h b/Source/++DFB/include/idirectfbimageprovider.h
new file mode 100755
index 0000000..915be23
--- /dev/null
+++ b/Source/++DFB/include/idirectfbimageprovider.h
@@ -0,0 +1,58 @@
+/*
+ (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 IDIRECTFBIMAGEPROVIDER_H
+#define IDIRECTFBIMAGEPROVIDER_H
+
+#ifndef DFBPP_H
+#error Please include ++dfb.h only.
+#endif
+
+class IDirectFBImageProvider : public IPPAny<IDirectFBImageProvider, IDirectFBImageProvider_C>{
+friend
+ class IDirectFB;
+friend
+ class IDirectFBDataBuffer;
+
+public:
+ IDirectFBImageProvider(IDirectFBImageProvider_C* myptr=NULL):IPPAny<IDirectFBImageProvider, IDirectFBImageProvider_C>(myptr){}
+
+ void GetSurfaceDescription (DFBSurfaceDescription *dsc);
+ void GetImageDescription (DFBImageDescription *dsc);
+
+ void RenderTo (IDirectFBSurface *destination,
+ DFBRectangle *destination_rect);
+
+ void SetRenderCallback (DIRenderCallback callback,
+ void *callback_data);
+
+ inline IDirectFBImageProvider& operator = (const IDirectFBImageProvider& other){
+ return IPPAny<IDirectFBImageProvider, IDirectFBImageProvider_C>::operator =(other);
+ }
+ inline IDirectFBImageProvider& operator = (IDirectFBImageProvider_C* other){
+ return IPPAny<IDirectFBImageProvider, IDirectFBImageProvider_C>::operator =(other);
+ }
+};
+
+#endif
diff --git a/Source/++DFB/include/idirectfbinputdevice.h b/Source/++DFB/include/idirectfbinputdevice.h
new file mode 100755
index 0000000..39d0bf8
--- /dev/null
+++ b/Source/++DFB/include/idirectfbinputdevice.h
@@ -0,0 +1,67 @@
+/*
+ (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 IDIRECTFBINPUTDEVICE_H
+#define IDIRECTFBINPUTDEVICE_H
+
+#ifndef DFBPP_H
+#error Please include ++dfb.h only.
+#endif
+
+class IDirectFBInputDevice : public IPPAny<IDirectFBInputDevice, IDirectFBInputDevice_C>{
+friend
+ class IDirectFB;
+
+public:
+ IDirectFBInputDevice(IDirectFBInputDevice_C* myptr=NULL):IPPAny<IDirectFBInputDevice, IDirectFBInputDevice_C>(myptr){}
+
+ DFBInputDeviceID GetID ();
+ void GetDescription (DFBInputDeviceDescription *desc);
+
+ void GetKeymapEntry (int code,
+ DFBInputDeviceKeymapEntry *entry);
+
+ IDirectFBEventBuffer CreateEventBuffer ();
+ void AttachEventBuffer (IDirectFBEventBuffer *buffer);
+ void DetachEventBuffer (IDirectFBEventBuffer *buffer);
+
+ DFBInputDeviceKeyState GetKeyState (DFBInputDeviceKeyIdentifier key_id);
+ DFBInputDeviceModifierMask GetModifiers ();
+ DFBInputDeviceLockState GetLockState ();
+ DFBInputDeviceButtonMask GetButtons ();
+ DFBInputDeviceButtonState GetButtonState (DFBInputDeviceButtonIdentifier button);
+ int GetAxis (DFBInputDeviceAxisIdentifier axis);
+
+ void GetXY (int *x,
+ int *y);
+ inline IDirectFBInputDevice& operator = (const IDirectFBInputDevice& other){
+ return IPPAny<IDirectFBInputDevice, IDirectFBInputDevice_C>::operator =(other);
+ }
+ inline IDirectFBInputDevice& operator = (IDirectFBInputDevice_C* other){
+ return IPPAny<IDirectFBInputDevice, IDirectFBInputDevice_C>::operator =(other);
+ }
+
+};
+
+#endif
diff --git a/Source/++DFB/include/idirectfbpalette.h b/Source/++DFB/include/idirectfbpalette.h
new file mode 100755
index 0000000..b413404
--- /dev/null
+++ b/Source/++DFB/include/idirectfbpalette.h
@@ -0,0 +1,68 @@
+/*
+ (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 IDIRECTFBPALETTE_H
+#define IDIRECTFBPALETTE_H
+
+#ifndef DFBPP_H
+#error Please include ++dfb.h only.
+#endif
+
+class IDirectFBPalette : public IPPAny<IDirectFBPalette, IDirectFBPalette_C> {
+friend
+ class IDirectFB;
+friend
+ class IDirectFBSurface;
+
+public:
+ IDirectFBPalette(IDirectFBPalette_C* myptr=NULL):IPPAny<IDirectFBPalette, IDirectFBPalette_C>(myptr){}
+
+ DFBPaletteCapabilities GetCapabilities ();
+ unsigned int GetSize ();
+
+ void SetEntries (DFBColor *entries,
+ unsigned int num_entries,
+ unsigned int offset);
+
+ void GetEntries (DFBColor *entries,
+ unsigned int num_entries,
+ unsigned int offset);
+
+ unsigned int FindBestMatch (u8 r,
+ u8 g,
+ u8 b,
+ u8 a);
+
+ IDirectFBPalette CreateCopy ();
+
+
+ inline IDirectFBPalette& operator = (const IDirectFBPalette& other){
+ return IPPAny<IDirectFBPalette, IDirectFBPalette_C>::operator =(other);
+ }
+ inline IDirectFBPalette& operator = (IDirectFBPalette_C* other){
+ return IPPAny<IDirectFBPalette, IDirectFBPalette_C>::operator =(other);
+ }
+};
+
+#endif
diff --git a/Source/++DFB/include/idirectfbscreen.h b/Source/++DFB/include/idirectfbscreen.h
new file mode 100755
index 0000000..e60b703
--- /dev/null
+++ b/Source/++DFB/include/idirectfbscreen.h
@@ -0,0 +1,103 @@
+/*
+ (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 IDIRECTFBSCREEN_H
+#define IDIRECTFBSCREEN_H
+
+#ifndef DFBPP_H
+#error Please include ++dfb.h only.
+#endif
+
+class IDirectFBScreen : public IPPAny<IDirectFBScreen, IDirectFBScreen_C> {
+friend
+ class IDirectFB;
+friend
+ class IDirectFBDisplayLayer;
+
+public:
+ IDirectFBScreen(IDirectFBScreen_C* myptr=NULL):IPPAny<IDirectFBScreen, IDirectFBScreen_C>(myptr){}
+
+ DFBScreenID GetID ();
+
+ DFBScreenDescription GetDescription ();
+
+ void GetSize (int *width,
+ int *height);
+
+ void EnumDisplayLayers (DFBDisplayLayerCallback callback,
+ void *callbackdata);
+
+ void SetPowerMode (DFBScreenPowerMode mode);
+
+ void WaitForSync ();
+
+
+ void GetMixerDescriptions (DFBScreenMixerDescription *descriptions);
+
+ void GetMixerConfiguration (int mixer,
+ DFBScreenMixerConfig *config);
+
+ void TestMixerConfiguration (int mixer,
+ const DFBScreenMixerConfig &config,
+ DFBScreenMixerConfigFlags *failed);
+
+ void SetMixerConfiguration (int mixer,
+ const DFBScreenMixerConfig &config);
+
+
+ void GetEncoderDescriptions (DFBScreenEncoderDescription *descriptions);
+
+ void GetEncoderConfiguration (int encoder,
+ DFBScreenEncoderConfig *config);
+
+ void TestEncoderConfiguration (int encoder,
+ const DFBScreenEncoderConfig &config,
+ DFBScreenEncoderConfigFlags *failed);
+
+ void SetEncoderConfiguration (int encoder,
+ const DFBScreenEncoderConfig &config);
+
+
+ void GetOutputDescriptions (DFBScreenOutputDescription *descriptions);
+
+ void GetOutputConfiguration (int output,
+ DFBScreenOutputConfig *config);
+
+ void TestOutputConfiguration (int output,
+ const DFBScreenOutputConfig &config,
+ DFBScreenOutputConfigFlags *failed);
+
+ void SetOutputConfiguration (int output,
+ const DFBScreenOutputConfig &config);
+
+ inline IDirectFBScreen& operator = (const IDirectFBScreen& other){
+ return IPPAny<IDirectFBScreen, IDirectFBScreen_C>::operator =(other);
+ }
+ inline IDirectFBScreen& operator = (IDirectFBScreen_C* other){
+ return IPPAny<IDirectFBScreen, IDirectFBScreen_C>::operator =(other);
+ }
+
+};
+
+#endif
diff --git a/Source/++DFB/include/idirectfbsurface.h b/Source/++DFB/include/idirectfbsurface.h
new file mode 100755
index 0000000..6404dbc
--- /dev/null
+++ b/Source/++DFB/include/idirectfbsurface.h
@@ -0,0 +1,211 @@
+/*
+ (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 IDIRECTFBSURFACE_H
+#define IDIRECTFBSURFACE_H
+
+#ifndef DFBPP_H
+#error Please include ++dfb.h only.
+#endif
+
+class IDirectFBSurface : public IPPAny<IDirectFBSurface, IDirectFBSurface_C> {
+friend
+ class IDirectFB;
+friend
+ class IDirectFBDisplayLayer;
+friend
+ class IDirectFBImageProvider;
+friend
+ class IDirectFBVideoProvider;
+friend
+ class IDirectFBWindow;
+
+public:
+ IDirectFBSurface(IDirectFBSurface_C* myptr=NULL):IPPAny<IDirectFBSurface, IDirectFBSurface_C>(myptr){}
+
+ DFBSurfaceCapabilities GetCapabilities ();
+ void GetPosition (int *x,
+ int *y);
+ void GetSize (int *width,
+ int *height);
+ void GetVisibleRectangle (DFBRectangle *rect);
+ DFBSurfacePixelFormat GetPixelFormat ();
+ DFBAccelerationMask GetAccelerationMask (IDirectFBSurface *source = NULL);
+
+ IDirectFBPalette GetPalette ();
+ void SetPalette (IDirectFBPalette *palette);
+ void SetAlphaRamp (u8 a0,
+ u8 a1,
+ u8 a2,
+ u8 a3);
+
+ void Lock (DFBSurfaceLockFlags flags,
+ void **ptr,
+ int *pitch);
+ void Unlock ();
+ void Flip (DFBRegion *region = NULL,
+ DFBSurfaceFlipFlags flags = static_cast<DFBSurfaceFlipFlags>(0));
+ void SetField (int field);
+ void Clear (u8 r = 0x00,
+ u8 g = 0x00,
+ u8 b = 0x00,
+ u8 a = 0x00);
+ void Clear (DFBColor &color);
+
+ void SetClip (const DFBRegion *clip = 0);
+ void SetClip (const DFBRectangle *clip);
+ void SetColor (u8 r,
+ u8 g,
+ u8 b,
+ u8 a = 0xFF);
+ void SetColor (DFBColor &color);
+ void SetColorIndex (unsigned int index);
+ void SetSrcBlendFunction (DFBSurfaceBlendFunction function);
+ void SetDstBlendFunction (DFBSurfaceBlendFunction function);
+ void SetPorterDuff (DFBSurfacePorterDuffRule rule);
+ void SetSrcColorKey (u8 r,
+ u8 g,
+ u8 b);
+ void SetSrcColorKeyIndex (unsigned int index);
+ void SetDstColorKey (u8 r,
+ u8 g,
+ u8 b);
+ void SetDstColorKeyIndex (unsigned int index);
+
+ void SetBlittingFlags (DFBSurfaceBlittingFlags flags);
+ void Blit (IDirectFBSurface *source,
+ const DFBRectangle *source_rect = NULL,
+ int x = 0,
+ int y = 0);
+ void TileBlit (IDirectFBSurface *source,
+ const DFBRectangle *source_rect = NULL,
+ int x = 0,
+ int y = 0);
+ void BatchBlit (IDirectFBSurface *source,
+ const DFBRectangle *source_rects,
+ const DFBPoint *dest_points,
+ int num);
+ void StretchBlit (IDirectFBSurface *source,
+ const DFBRectangle *source_rect = NULL,
+ const DFBRectangle *destination_rect = NULL);
+
+ void TextureTriangles (IDirectFBSurface *source,
+ const DFBVertex *vertices,
+ const int *indices,
+ int num,
+ DFBTriangleFormation formation);
+
+ void SetDrawingFlags (DFBSurfaceDrawingFlags flags);
+ void FillRectangle (int x,
+ int y,
+ int width,
+ int height);
+ void FillRectangle (DFBRectangle &rect);
+ void FillRectangle (DFBRegion &rect);
+ void FillRectangles (const DFBRectangle *rects,
+ unsigned int num_rects);
+ void DrawRectangle (int x,
+ int y,
+ int width,
+ int height);
+ void DrawLine (int x1,
+ int y1,
+ int x2,
+ int y2);
+ void DrawLines (const DFBRegion *lines,
+ unsigned int num_lines);
+ void FillTriangle (int x1,
+ int y1,
+ int x2,
+ int y2,
+ int x3,
+ int y3);
+ void FillSpans (int y,
+ const DFBSpan *spans,
+ unsigned int num);
+
+ void SetFont (const IDirectFBFont &font) const;
+ IDirectFBFont GetFont () const;
+ void DrawString (const char *text,
+ int bytes,
+ int x,
+ int y,
+ DFBSurfaceTextFlags flags);
+ void DrawGlyph (unsigned int index,
+ int x,
+ int y,
+ DFBSurfaceTextFlags flags);
+ void SetEncoding (DFBTextEncodingID encoding);
+
+ IDirectFBSurface GetSubSurface (DFBRectangle *rect);
+
+ void Dump (const char *directory,
+ const char *prefix);
+
+ void DisableAcceleration (DFBAccelerationMask mask);
+
+ IDirectFBGL *GetGL ();
+
+ /* Additional methods added for enhanced usability */
+
+ int GetWidth ();
+ int GetHeight ();
+
+ void SetColor (const DFBColor &color);
+ void SetColor (const DFBColor *color);
+
+ void FillRectangle (const DFBRectangle &rect);
+ void DrawRectangle (const DFBRectangle &rect);
+ void DrawLine (const DFBRegion &line);
+
+ IDirectFBSurface GetSubSurface (int x,
+ int y,
+ int width,
+ int height);
+
+ void GetClip (DFBRegion *clip);
+
+ int GetFramebufferOffset();
+
+ void ReleaseSource ();
+ void SetIndexTranslation (const int *indices,
+ int num_indices);
+
+ void Read (void *ptr,
+ int pitch,
+ const DFBRectangle *rect = NULL);
+
+ void Write (const void *ptr,
+ int pitch,
+ const DFBRectangle *rect = NULL);
+
+ inline IDirectFBSurface& operator = (const IDirectFBSurface& other){
+ return IPPAny<IDirectFBSurface, IDirectFBSurface_C>::operator =(other);
+ }
+ inline IDirectFBSurface& operator = (IDirectFBSurface_C* other){
+ return IPPAny<IDirectFBSurface, IDirectFBSurface_C>::operator =(other);
+ }
+};
+
+#endif
diff --git a/Source/++DFB/include/idirectfbvideoprovider.h b/Source/++DFB/include/idirectfbvideoprovider.h
new file mode 100755
index 0000000..cbc83fb
--- /dev/null
+++ b/Source/++DFB/include/idirectfbvideoprovider.h
@@ -0,0 +1,77 @@
+/*
+ (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 IDIRECTFBVIDEOPROVIDER_H
+#define IDIRECTFBVIDEOPROVIDER_H
+
+#ifndef DFBPP_H
+#error Please include ++dfb.h only.
+#endif
+
+class IDirectFBVideoProvider : public IPPAny<IDirectFBVideoProvider, IDirectFBVideoProvider_C>{
+friend
+ class IDirectFB;
+friend
+ class IDirectFBDataBuffer;
+
+public:
+ IDirectFBVideoProvider(IDirectFBVideoProvider_C* myptr=NULL):IPPAny<IDirectFBVideoProvider, IDirectFBVideoProvider_C>(myptr){}
+
+ DFBVideoProviderCapabilities GetCapabilities ();
+ void GetSurfaceDescription (DFBSurfaceDescription *dsc);
+ void GetStreamDescription (DFBStreamDescription *dsc);
+
+ void PlayTo (IDirectFBSurface *destination,
+ DFBRectangle *destination_rect = NULL,
+ DVFrameCallback callback = NULL,
+ void *ctx = NULL);
+ void Stop ();
+ DFBVideoProviderStatus GetStatus ();
+
+ void SeekTo (double seconds);
+ double GetPos ();
+ double GetLength ();
+
+ void GetColorAdjustment (DFBColorAdjustment *adj);
+ void SetColorAdjustment (DFBColorAdjustment &adj);
+
+ void SendEvent (DFBEvent &evt);
+
+ void SetPlaybackFlags (DFBVideoProviderPlaybackFlags flags);
+
+ void SetSpeed (double multiplier);
+ double GetSpeed ();
+
+ void SetVolume (float level);
+ float GetVolume ();
+
+ inline IDirectFBVideoProvider& operator = (const IDirectFBVideoProvider& other){
+ return IPPAny<IDirectFBVideoProvider, IDirectFBVideoProvider_C>::operator =(other);
+ }
+ inline IDirectFBVideoProvider& operator = (IDirectFBVideoProvider_C* other){
+ return IPPAny<IDirectFBVideoProvider, IDirectFBVideoProvider_C>::operator =(other);
+ }
+};
+
+#endif
diff --git a/Source/++DFB/include/idirectfbwindow.h b/Source/++DFB/include/idirectfbwindow.h
new file mode 100755
index 0000000..ab7ff26
--- /dev/null
+++ b/Source/++DFB/include/idirectfbwindow.h
@@ -0,0 +1,117 @@
+/*
+ (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 IDIRECTFBWINDOW_H
+#define IDIRECTFBWINDOW_H
+
+#ifndef DFBPP_H
+#error Please include ++dfb.h only.
+#endif
+
+class IDirectFBWindow :public IPPAny<IDirectFBWindow, IDirectFBWindow_C>{
+friend
+ class IDirectFBDisplayLayer;
+
+public:
+ IDirectFBWindow(IDirectFBWindow_C* myptr=NULL):IPPAny<IDirectFBWindow, IDirectFBWindow_C>(myptr){}
+
+ DFBWindowID GetID ();
+ void GetPosition (int *x,
+ int *y);
+ void GetSize (int *width,
+ int *height);
+
+ IDirectFBEventBuffer CreateEventBuffer ();
+ void AttachEventBuffer (IDirectFBEventBuffer *buffer);
+ void DetachEventBuffer (IDirectFBEventBuffer *buffer);
+ void EnableEvents (DFBWindowEventType mask);
+ void DisableEvents (DFBWindowEventType mask);
+
+ IDirectFBSurface GetSurface ();
+
+ void SetOptions (DFBWindowOptions options);
+ DFBWindowOptions GetOptions ();
+ void SetColorKey (u8 r,
+ u8 g,
+ u8 b);
+ void SetColorKeyIndex (unsigned int index);
+ void SetOpacity (u8 opacity);
+ void SetOpaqueRegion (int x1,
+ int y1,
+ int x2,
+ int y2);
+ u8 GetOpacity ();
+ void SetCursorShape (IDirectFBSurface *shape,
+ int hot_x,
+ int hot_y);
+
+ void RequestFocus ();
+ void GrabKeyboard ();
+ void UngrabKeyboard ();
+ void GrabPointer ();
+ void UngrabPointer ();
+ void GrabKey (DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers);
+ void UngrabKey (DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers);
+
+ void Move (int dx,
+ int dy);
+ void MoveTo (int x,
+ int y);
+ void Resize (int width,
+ int height);
+
+ void SetStackingClass (DFBWindowStackingClass stacking_class);
+ void Raise ();
+ void Lower ();
+ void RaiseToTop ();
+ void LowerToBottom ();
+ void PutAtop (IDirectFBWindow *lower);
+ void PutBelow (IDirectFBWindow *upper);
+
+ void Close ();
+ void Destroy ();
+
+ void SetBounds (int x,
+ int y,
+ int width,
+ int height);
+
+ void ResizeSurface (int width,
+ int height);
+
+ void SetDstGeometry (DFBWindowGeometry *geometry);
+ void SetSrcGeometry (DFBWindowGeometry *geometry);
+
+
+ inline IDirectFBWindow& operator = (const IDirectFBWindow& other){
+ return IPPAny<IDirectFBWindow, IDirectFBWindow_C>::operator =(other);
+ }
+ inline IDirectFBWindow& operator = (IDirectFBWindow_C* other){
+ return IPPAny<IDirectFBWindow, IDirectFBWindow_C>::operator =(other);
+ }
+};
+
+#endif