diff options
author | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2013-01-15 08:46:13 +0100 |
---|---|---|
committer | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2013-01-15 08:46:13 +0100 |
commit | 7fe60435bce6595a9c58a9bfd8244d74b5320e96 (patch) | |
tree | 1ac714a916e02fc90901ddac8bc2a3c6d051d28c | |
download | directfb-voodoo-7fe60435bce6595a9c58a9bfd8244d74b5320e96.tar.gz directfb-voodoo-7fe60435bce6595a9c58a9bfd8244d74b5320e96.tar.bz2 directfb-voodoo-7fe60435bce6595a9c58a9bfd8244d74b5320e96.zip |
Import DirectFB141_2k11R3_beta5
1298 files changed, 696549 insertions, 0 deletions
diff --git a/.directfbrc b/.directfbrc new file mode 100755 index 0000000..5c1a158 --- /dev/null +++ b/.directfbrc @@ -0,0 +1,13 @@ +no-cursor +system=x11 +wm=sawman +font-format = A8 + +#layer-size = 852x480 +#layer-size = 640x480 +layer-size = 320x240 +layer-format = ARGB +layer-buffer-mode = frontonly +#layer-buffer-mode = backvideo +layer-stacking = lower,middle,upper +layer-bg-color = 000900 diff --git a/.directfbrc.jsapp b/.directfbrc.jsapp new file mode 100755 index 0000000..a02963a --- /dev/null +++ b/.directfbrc.jsapp @@ -0,0 +1,12 @@ +player-name = jointSPACESim +player-vendor = Philips +player-model = 2k10 + +thread-scheduler = other +thread-priority = -20 + +proxy-memory-max = 4000 +proxy-surface-max = 1800 +proxy-layer-mask = 1 +proxy-stacking-mask = 5 +#bits means: lower/upper/middle
\ No newline at end of file diff --git a/.directfbrc.plfapp b/.directfbrc.plfapp new file mode 100755 index 0000000..774d4c1 --- /dev/null +++ b/.directfbrc.plfapp @@ -0,0 +1,4 @@ +# ceplf is going to be the sole master of the system. +# override of directfbrc. +no-force-slave + diff --git a/.fusiondalerc b/.fusiondalerc new file mode 100755 index 0000000..f3bfbd6 --- /dev/null +++ b/.fusiondalerc @@ -0,0 +1,6 @@ +coma-allow +#coma-allow = "AV Platform/Tuner" +#coma-allow = "IPC_plfapiinfra/CPlatformApiInfrastructure" + + + diff --git a/ConfigGeneric/config.h b/ConfigGeneric/config.h new file mode 100755 index 0000000..6e69559 --- /dev/null +++ b/ConfigGeneric/config.h @@ -0,0 +1,29 @@ +#define DIRECTFB_VERSION "1.4.0"
+#define FUSIONDALE_VERSION "0.1.0"
+#define HAVE_ASM_PAGE_H 1
+#define HAVE_DECL_PTHREAD_MUTEX_RECURSIVE 1
+#define HAVE_DECL_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 1
+#define HAVE_DLFCN_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_LIBDL 1
+#define HAVE_LIBPTHREAD 1
+#undef HAVE_LINUX_UNISTD_H
+#define HAVE_MEMORY_H 1
+#define HAVE_STDBOOL_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_STRING_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_INPUT_ABSINFO 1
+#define PACKAGE_BUGREPORT ""
+#define PACKAGE_NAME ""
+#define PACKAGE_STRING ""
+#define PACKAGE_TARNAME ""
+#define PACKAGE_VERSION ""
+#define SIZEOF_INT 4
+#define SIZEOF_LONG 4
+#define SIZEOF_LONG_LONG 8
+#define STDC_HEADERS 1
diff --git a/ConfigGeneric/direct/build.h b/ConfigGeneric/direct/build.h new file mode 100755 index 0000000..8ae1eeb --- /dev/null +++ b/ConfigGeneric/direct/build.h @@ -0,0 +1,39 @@ +/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ (c) Copyright 2002-2004 convergence GmbH.
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@directfb.org>,
+ Andreas Hundt <andi@fischlustig.de>,
+ Sven Neumann <neo@directfb.org> and
+ Ville Syrjälä <syrjala@sci.fi>.
+
+ 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 __DIRECT__BUILD_H__
+#define __DIRECT__BUILD_H__
+
+#define DIRECT_BUILD_DEBUG (ENABLE_DEBUG)
+#define DIRECT_BUILD_DEBUGS (1)
+#define DIRECT_BUILD_TRACE (ENABLE_TRACE)
+#define DIRECT_BUILD_TEXT (1)
+#define DIRECT_BUILD_GETTID (1)
+#define DIRECT_BUILD_NETWORK (0)
+#define DIRECT_BUILD_STDBOOL (1)
+#endif
+
diff --git a/ConfigGeneric/fusion/build.h b/ConfigGeneric/fusion/build.h new file mode 100755 index 0000000..4bbf6c4 --- /dev/null +++ b/ConfigGeneric/fusion/build.h @@ -0,0 +1,36 @@ +/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ (c) Copyright 2002-2004 convergence GmbH.
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@directfb.org>,
+ Andreas Hundt <andi@fischlustig.de>,
+ Sven Neumann <neo@directfb.org> and
+ Ville Syrjälä <syrjala@sci.fi>.
+
+ 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 __FUSION__BUILD_H__
+#define __FUSION__BUILD_H__
+
+#define FUSION_BUILD_MULTI (0)
+#define FUSION_MESSAGE_SIZE (65536)
+#define FUSION_BUILD_KERNEL (0)
+
+#endif
+
diff --git a/Config_x11/config.h b/Config_x11/config.h new file mode 100755 index 0000000..ff2f76a --- /dev/null +++ b/Config_x11/config.h @@ -0,0 +1,30 @@ +#define ARCH_MIPS
+#define DIRECTFB_VERSION "1.4.0"
+#define FUSIONDALE_VERSION "0.1.0"
+#define HAVE_ASM_PAGE_H 1
+#define HAVE_DECL_PTHREAD_MUTEX_RECURSIVE 1
+#define HAVE_DECL_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 1
+#define HAVE_DLFCN_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_LIBDL 1
+#define HAVE_LIBPTHREAD 1
+#define HAVE_LINUX_UNISTD_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STDBOOL_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_STRING_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_INPUT_ABSINFO 1
+#define PACKAGE_BUGREPORT ""
+#define PACKAGE_NAME ""
+#define PACKAGE_STRING ""
+#define PACKAGE_TARNAME ""
+#define PACKAGE_VERSION ""
+#define SIZEOF_INT 4
+#define SIZEOF_LONG 4
+#define SIZEOF_LONG_LONG 8
+#define STDC_HEADERS 1
diff --git a/Config_x11/direct/build.h b/Config_x11/direct/build.h new file mode 100755 index 0000000..139e797 --- /dev/null +++ b/Config_x11/direct/build.h @@ -0,0 +1,39 @@ +/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ (c) Copyright 2002-2004 convergence GmbH.
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@directfb.org>,
+ Andreas Hundt <andi@fischlustig.de>,
+ Sven Neumann <neo@directfb.org> and
+ Ville Syrjälä <syrjala@sci.fi>.
+
+ 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 __DIRECT__BUILD_H__
+#define __DIRECT__BUILD_H__
+
+#define DIRECT_BUILD_DEBUG (ENABLE_DEBUG)
+#define DIRECT_BUILD_DEBUGS (ENABLE_DEBUG)
+#define DIRECT_BUILD_TRACE (ENABLE_TRACE)
+#define DIRECT_BUILD_TEXT (1)
+#define DIRECT_BUILD_GETTID (1)
+#define DIRECT_BUILD_NETWORK (0)
+#define DIRECT_BUILD_STDBOOL (1)
+#endif
+
diff --git a/Config_x11/fusion/build.h b/Config_x11/fusion/build.h new file mode 100755 index 0000000..af9ba26 --- /dev/null +++ b/Config_x11/fusion/build.h @@ -0,0 +1,36 @@ +/*
+ (c) Copyright 2000-2002 convergence integrated media GmbH.
+ (c) Copyright 2002-2004 convergence GmbH.
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok@directfb.org>,
+ Andreas Hundt <andi@fischlustig.de>,
+ Sven Neumann <neo@directfb.org> and
+ Ville Syrjälä <syrjala@sci.fi>.
+
+ 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 __FUSION__BUILD_H__
+#define __FUSION__BUILD_H__
+
+#define FUSION_BUILD_MULTI (1)
+#define FUSION_MESSAGE_SIZE (65536)
+#define FUSION_BUILD_KERNEL (1)
+
+#endif
+
diff --git a/Config_x11/makefile b/Config_x11/makefile new file mode 100755 index 0000000..4255025 --- /dev/null +++ b/Config_x11/makefile @@ -0,0 +1,106 @@ +# X11 Config makefile specifics.
+
+# Global setup
+PHILIPS = $(TOP)/Philips
+DIRECTFBTOP = $(TOP)/../..
+
+DESTDIR = /opt/root520
+prefix = /home
+bindir = /home
+datadir = /usr/data
+libdir = /lib
+sysconfdir = /etc
+
+#
+# Toolchain location
+#CC := /cygdrive/c/MontaVista/opt/montavista/pro/devkit/mips/fp_le/bin/mips_fp_le-gcc
+#LD := /cygdrive/c/MontaVista/opt/montavista/pro/devkit/mips/fp_le/bin/mips_fp_le-ld
+CC := gcc
+LD := ld
+nm := nm
+
+LIBS += -lXext
+LIBS += `pkg-config x11 --libs`
+LIBS += `pkg-config xext --libs`
+LIBS += `pkg-config freetype2 --libs`
+LIBS += `pkg-config libpng --libs`
+
+#
+# Configuration
+CPPFLAGS += -DHAVE_FUSIONDALE -DLINUX_2_6 -DPAGE_SHIFT=12 -DPIC #-DLINUX_INPUT_USE_FBDEV #-DHAS_CURSOR_BUG -DDFB_INPUTDRIVER_HAS_SENSITIVITY
+#-Werror -DSAWMAN_NO_LAYER_DST_WINDOW
+
+#
+# Compiler flags
+ifeq ($(DEBUG),yes)
+CFLAGS += -g -ggdb -O1 -fno-omit-frame-pointer
+else
+CFLAGS += -g -ggdb -O2 -ffast-math -fno-omit-frame-pointer
+#CFLAGS += -g -ggdb -O2 -ffast-math -fomit-frame-pointer -march=r4400
+endif
+# -Werror
+
+INCLUDES += `pkg-config x11 --cflags`
+INCLUDES += `pkg-config xext --cflags`
+INCLUDES += `pkg-config freetype2 --cflags`
+
+#
+# CE files (temporary)
+INCLUDES += -I$(SOURCE)/FusionDale/src/core
+INCLUDES += -I$(TOP)/../iType/product/source/common
+INCLUDES += -I$(TOP)/../iType/product/source/adf
+INCLUDES += -I$(TOP)/../iType/product/source/port/tv543
+LDFLAGS += -L$(TOP)/../iType/product/builds/linux/itype/debug
+
+#
+# Different modules, drivers etc.
+FT2MODULEOBJECTS = \
+ $(SOURCE)/DirectFB/interfaces/IDirectFBFont/idirectfbfont_ft2.o
+ITYPEMODULEOBJECTS = \
+ $(SOURCE)/DirectFB/interfaces/IDirectFBFont/idirectfbfont_lino.o
+DGIFFMODULEOBJECTS = \
+ $(SOURCE)/DirectFB/interfaces/IDirectFBFont/idirectfbfont_dgiff.o
+PNGMODULEOBJECTS = \
+ $(SOURCE)/DirectFB/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.o
+JPEGMODULEOBJECTS = \
+ $(SOURCE)/DirectFB/interfaces/IDirectFBImageProvider/idirectfbimageprovider_jpeg.o
+
+OBJECTS = \
+ $(SOURCE)/DirectFB/interfaces/IDirectFBFont/idirectfbfont_dgiff.o \
+ $(SOURCE)/DirectFB/interfaces/IDirectFBImageProvider/idirectfbimageprovider_dfiff.o \
+ $(SOURCE)/DirectFB/interfaces/IDirectFBImageProvider/idirectfbimageprovider_gif.o \
+ $(SOURCE)/DirectFB/inputdrivers/linux_input/linux_input.o \
+ $(SOURCE)/DirectFB/systems/x11/x11.o \
+ $(SOURCE)/DirectFB/systems/x11/x11image.o \
+ $(SOURCE)/DirectFB/systems/x11/xwindow.o \
+ $(SOURCE)/DirectFB/systems/x11/x11input.o \
+ $(SOURCE)/DirectFB/systems/x11/x11_surface_pool.o \
+ $(SOURCE)/DirectFB/systems/x11/vpsmem_surface_pool.o \
+ $(SOURCE)/DirectFB/systems/x11/surfacemanager.o \
+ $(SOURCE)/DirectFB/systems/x11/primary.o
+
+TOOLS = \
+ $(SOURCE)/DirectFB/tools/dfbproxy \
+ $(SOURCE)/DirectFB/tools/dfbinput \
+ $(SOURCE)/DirectFB/tests/dfbtest_font \
+ $(SOURCE)/DirectFB/tests/smiley_test
+
+
+
+clean::
+
+install::
+ @(if test -z "$(DESTDIR)"; then echo "**** DESTDIR not set! ****"; exit 1; fi)
+ install -d $(DESTDIR)$(datadir)
+ install -d $(DESTDIR)$(datadir)/df_neo
+ install -d $(DESTDIR)$(datadir)/shopfloor
+ install -d $(DESTDIR)$(datadir)/quip
+ install -d $(DESTDIR)$(sysconfdir)
+ install -c -m 644 $(PHILIPS)/Tools/data/*.{gif,jpg,png,ttf} $(DESTDIR)$(datadir)/
+ install -c -m 644 $(PHILIPS)/Tools/data/df_neo/*.{jpg,png} $(DESTDIR)$(datadir)/df_neo/
+ install -c -m 644 $(PHILIPS)/Tools/data/quip/*.{dfiff,png,quip} $(DESTDIR)$(datadir)/quip/
+ install -c -m 644 $(PHILIPS)/Tools/data/shopfloor/*.{png,sfa} $(DESTDIR)$(datadir)/shopfloor/
+ install -c -m 644 $(PHILIPS)/Config/directfbrc* $(DESTDIR)$(sysconfdir)
+ install -c -m 644 $(PHILIPS)/Config/fusiondalerc* $(DESTDIR)$(sysconfdir)
+ install -c -m 644 $(PHILIPS)/Config/sawmanrc $(DESTDIR)$(sysconfdir)
+
diff --git a/JointSpace_License.pdf b/JointSpace_License.pdf Binary files differnew file mode 100755 index 0000000..3f2af8a --- /dev/null +++ b/JointSpace_License.pdf diff --git a/Jslib/jslibrc/jslibrc_client.c b/Jslib/jslibrc/jslibrc_client.c new file mode 100755 index 0000000..b942a38 --- /dev/null +++ b/Jslib/jslibrc/jslibrc_client.c @@ -0,0 +1,653 @@ +#include <jslibrc_client.h>
+#include <divine.h>
+
+
+
+#define DFBCHECK(x...) \
+do { \
+ DFBResult err; \
+ err = x; \
+ if (err != DFB_OK) { \
+ printf ("Fail!! err!=DFB_OK"); \
+ DirectFBError (#x, err); \
+ } \
+} while(0);
+
+
+#define HK_HOMESCREEN DIKS_CUSTOM36
+#define HK_MEDIA DIKS_CUSTOM20
+#define HK_TELETEXT DIKS_CUSTOM17
+#define HK_HTML DIKS_CUSTOM19
+#define HK_DFU DIKS_CUSTOM49
+#define HK_REMOTEAPP DIKS_CUSTOM97
+#define HK_EXPERIENCE DIKS_CUSTOM58
+
+#define DFB_RAW_KEY DIKS_CUSTOM31
+#define DFB_AMBILIGHT DIKS_CUSTOM33
+#define DFB_BATTERY_LOW DIKS_CUSTOM94
+#define DFB_3D DIKS_CUSTOM110
+
+/*added by Vivek to solve brg36mgr#235014 */
+
+#define DFB_NETTV DIKS_CUSTOM19
+#define DFB_MEDIA_CB DIKS_CUSTOM20
+#define DFB_MEDIA_DLNA DIKS_CUSTOM21
+#define DFB_LKB_TACT DIKS_CUSTOM32
+#define DFB_EXPERIENCE DIKS_CUSTOM58
+#define DFB_MUTE DIKS_CUSTOM93
+#define DFB_DEALERRC DIKS_CUSTOM111
+#define DFB_DEALERRC_DEMO DIKS_CUSTOM112
+
+
+
+#define NOTRCSOURCEMASK 0x20
+
+#define MAX_NR_OF_ELEMENTS( a, b ) ( sizeof( a ) / sizeof( b ) )
+
+
+typedef enum{
+ MEDIA_USB,
+ MEDIA_Network,
+ MEDIA_Scenea,
+ MEDIA_DRM
+} EnumMediaStart;
+
+
+static IDiVine *divine = NULL;
+
+static DFBInputDeviceKeySymbol Rc5Sys0TranslateTable[0x80] =
+{
+ /**********************/
+ /* SYSTEM CODE 0x00 */
+ /**********************/
+ /****************************************************************************************************************************************************************************/
+ /* * 0x00 / 0x08 0x01 / 0x09 0x02 / 0x0A 0x03 / 0x0B 0x04 / 0x0C 0x05 / 0x0D 0x06 / 0x0E 0x07 / 0x0F */
+ /****************************************************************************************************************************************************************************/
+ /* 0x00 */ DIKS_0, DIKS_1, DIKS_2, DIKS_3, DIKS_4, DIKS_5, DIKS_6, DIKS_7,
+ /* */ DIKS_8, DIKS_9, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_POWER, DIKS_MUTE, DFB_RAW_KEY, DIKS_INFO,
+ /* 0x10 */ DIKS_VOLUME_UP, DIKS_VOLUME_DOWN, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x20 */ DIKS_CHANNEL_UP, DIKS_CHANNEL_DOWN, DIKS_PREVIOUS, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x30 */ DFB_RAW_KEY, DFB_RAW_KEY, DIKS_REWIND, DFB_RAW_KEY, DIKS_FASTFORWARD, DIKS_PLAYPAUSE, DIKS_STOP, DIKS_RECORD,
+ /* */ DIKS_NEXT, DIKS_F2, DIKS_SUBTITLE, DFB_RAW_KEY, DIKS_TEXT, DIKS_POWER2, DFB_RAW_KEY, DIKS_TUNER,
+ /* 0x40 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_AMBILIGHT,
+ /* */ DFB_RAW_KEY, DFB_AMBILIGHT, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x50 */ DIKS_CURSOR_UP, DIKS_CURSOR_DOWN, DIKS_MENU, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_CURSOR_LEFT, DIKS_CURSOR_RIGHT, DIKS_OK,
+ /* */ DIKS_MODE, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x60 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_RED, DIKS_GREEN, DIKS_YELLOW, DIKS_BLUE, DFB_RAW_KEY,
+ /* 0x70 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_ZOOM, DFB_RAW_KEY
+ /****************************************************************************************************************************************************************************/
+};
+
+
+/* sync'ed the table of TV side to fix the issue brg36mgr#235014 , vivek*/
+static DFBInputDeviceKeySymbol Rc5Sys3TranslateTable[0x80] =
+{
+ /**********************/
+ /* SYSTEM CODE 0x03 */
+ /**********************/
+ /****************************************************************************************************************************************************************************/
+ /* * 0x00 / 0x08 0x01 / 0x09 0x02 / 0x0A 0x03 / 0x0B 0x04 / 0x0C 0x05 / 0x0D 0x06 / 0x0E 0x07 / 0x0F */
+ /****************************************************************************************************************************************************************************/
+ /* 0x00 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_F1, DIKS_F12, DIKS_F6, DIKS_F7,
+ /* */ DIKS_F8, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x10 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_MEDIA_CB, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x20 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_AMBILIGHT, DFB_AMBILIGHT, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_EPG, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x30 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DIKS_F3, DIKS_F4, DIKS_F12, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_ZOOM, DIKS_ZOOM, DFB_RAW_KEY,
+ /* 0x40 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DIKS_TUNER, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x50 */ DIKS_ZOOM, DIKS_ZOOM, DFB_RAW_KEY, DIKS_ZOOM, DFB_RAW_KEY, DIKS_ZOOM, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x60 */ DFB_MEDIA_DLNA, DFB_NETTV, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x70 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_ZOOM, DIKS_ZOOM, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_F5, DFB_RAW_KEY, DIKS_ZOOM, DIKS_ZOOM, DFB_RAW_KEY
+ /****************************************************************************************************************************************************************************/
+};
+
+static DFBInputDeviceKeySymbol Rc6TranslateTable[0x100] =
+{
+ /****************************************************************************************************************************************************************************/
+ /* * 0x00 / 0x08 0x01 / 0x09 0x02 / 0x0A 0x03 / 0x0B 0x04 / 0x0C 0x05 / 0x0D 0x06 / 0x0E 0x07 / 0x0F */
+ /****************************************************************************************************************************************************************************/
+ /* 0x00 */ DIKS_0, DIKS_1, DIKS_2, DIKS_3, DIKS_4, DIKS_5, DIKS_6, DIKS_7,
+ /* */ DIKS_8, DIKS_9, DIKS_PREVIOUS, DFB_RAW_KEY, DIKS_POWER, DIKS_MUTE, DFB_RAW_KEY, DIKS_INFO,
+ /* 0x10 */ DIKS_VOLUME_UP, DIKS_VOLUME_DOWN, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_CHANNEL_UP, DIKS_CHANNEL_DOWN,
+ /* 0x20 */ DIKS_CHANNEL_UP, DIKS_CHANNEL_DOWN, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DIKS_FASTFORWARD, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_REWIND, DIKS_PLAYPAUSE, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x30 */ DIKS_PLAYPAUSE, DIKS_STOP, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_STOP, DIKS_RECORD,
+ /* */ DIKS_NEXT, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_TEXT, DIKS_POWER2, DFB_RAW_KEY, DIKS_TUNER,
+ /* 0x40 */ DIKS_OPTION, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_SUBTITLE, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_PAGE_DOWN, DIKS_PAGE_UP, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x50 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_MENU, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DIKS_CURSOR_UP, DIKS_CURSOR_DOWN, DIKS_CURSOR_LEFT, DIKS_CURSOR_RIGHT, DIKS_OK, DIKS_MODE, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x60 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_RED, DIKS_GREEN, DIKS_YELLOW,
+ /* 0x70 */ DIKS_BLUE, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_SUBTITLE, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0x80 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_AMBILIGHT,
+ /* 0x90 */ HK_EXPERIENCE, DFB_AMBILIGHT, DFB_AMBILIGHT, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_TUNER,
+ /* 0xA0 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0xB0 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_3D, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, HK_HTML, DFB_RAW_KEY,
+ /* 0xC0 */ DFB_RAW_KEY, DIKS_PLAYPAUSE, DFB_RAW_KEY, DFB_BATTERY_LOW, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_EPG, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0xD0 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DIKS_PERIOD, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0xE0 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* 0xF0 */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DIKS_ZOOM, DFB_RAW_KEY, DFB_RAW_KEY,
+ /* */ DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY, DFB_RAW_KEY
+ /****************************************************************************************************************************************************************************/
+};
+
+
+
+static int TranslateKey( int *source, int *system, int *command, DFBInputDeviceKeySymbol *symbol )
+{
+ int translated = 0;
+
+ switch ( *source )
+ {
+ case keySourceRc5:
+ if (
+ ( *system == 0 ) &&
+ ( *command >= 0 ) &&
+ ( *command < ( MAX_NR_OF_ELEMENTS( Rc5Sys0TranslateTable, DFBInputDeviceKeySymbol ) ) )
+ )
+ {
+ *symbol = Rc5Sys0TranslateTable[*command];
+ translated = 1;
+ }
+ else if (
+ ( *system == 3 ) &&
+ ( *command >= 0 ) &&
+ ( *command < ( MAX_NR_OF_ELEMENTS( Rc5Sys3TranslateTable, DFBInputDeviceKeySymbol ) ) )
+ )
+ {
+ *symbol = Rc5Sys3TranslateTable[*command];
+ translated = 1;
+ }
+ break;
+
+ case keySourceRc6:
+ if (
+ ( *system < 2 ) &&
+ ( *command >= 0 ) &&
+ ( *command < ( MAX_NR_OF_ELEMENTS( Rc6TranslateTable, DFBInputDeviceKeySymbol ) ) )
+ )
+ {
+ *symbol = Rc6TranslateTable[*command];
+ translated = 1;
+ }
+ break;
+
+ default:
+ /* unrecognized source: no translation */
+ break;
+ }
+
+ if( !translated )
+ {
+ printf( ( "Key could not be translated, passing DFB_RAW_KEY instead!\n" ) );
+
+ *symbol = DFB_RAW_KEY;
+ translated = 1;
+ }
+
+ return( translated );
+}
+
+static int SendKeyDown(int keyname,int src,int sys,int cmd, int modifier )
+{
+ DFBInputEvent event;
+ unsigned long key_code;
+ if (divine)
+ {
+ key_code = (((unsigned int)src & 0xff) << 24) | (((unsigned int)sys & 0xff) << 16) | ((unsigned int)cmd & 0xffff);
+
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_KEYPRESS;
+ event.key_code = key_code;
+ event.key_symbol = keyname;
+ event.flags = DIEF_KEYCODE | DIEF_KEYSYMBOL;
+ if (modifier)
+ {
+ event.flags |= DIEF_MODIFIERS;
+ event.modifiers = modifier;
+ }
+ DFBCHECK(divine->SendEvent (divine, &event));
+ }
+
+ return 1;
+}
+
+static int SendKeyUp(int keyname,int src,int sys,int cmd, int modifier )
+{
+ DFBInputEvent event;
+ unsigned long key_code;
+ if (divine)
+ {
+ key_code = (((unsigned int)src & 0xff) << 24) | (((unsigned int)sys & 0xff) << 16) | ((unsigned int)cmd & 0xffff);
+
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_KEYRELEASE;
+ event.key_code = key_code;
+ event.key_symbol = keyname;
+ event.flags = DIEF_KEYCODE | DIEF_KEYSYMBOL;
+ if (modifier)
+ {
+ event.flags |= DIEF_MODIFIERS;
+ event.modifiers = modifier;
+ }
+ DFBCHECK(divine->SendEvent (divine, &event));
+ }
+
+ return 1;
+}
+
+static int SendKeyHK(int keyname,int src,int sys,int cmd, int modifier )
+{
+ unsigned long key_code;
+ DFBInputEvent event;
+ int dfb_ret;
+ int ret = 0;
+ if (divine)
+ {
+ src |= NOTRCSOURCEMASK;
+ key_code = (((unsigned int)src & 0xff) << 24) | (((unsigned int)sys & 0xff) << 16) | ((unsigned int)cmd & 0xffff);
+
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_KEYPRESS;
+ event.key_code = key_code;
+ event.key_symbol = keyname;
+ event.flags = DIEF_KEYCODE | DIEF_KEYSYMBOL;
+ if (modifier)
+ {
+ event.flags |= DIEF_MODIFIERS;
+ event.modifiers = modifier;
+ }
+ dfb_ret = divine->SendEvent (divine, &event);
+ printf("ReturnKey retval = %d\n", dfb_ret );
+ ret = 1;
+ }
+
+ return ret;
+}
+
+
+
+
+
+int
+jslibrc_Init( int *argc, char **argv[] )
+{
+ DFBResult ret;
+
+ ret = DiVineInit( argc, argv );
+ if (ret) {
+ return ret;
+ }
+
+ ret = DiVineCreate( &divine );
+ if (ret) {
+ return ret;
+ }
+
+ return 0;
+}
+
+void
+jslibrc_Exit( void )
+{
+ if (divine) {
+ divine->Release(divine);
+ divine = NULL;
+ }
+}
+
+void
+jslibrc_KeyDown( int src, int sys, int cmd )
+{
+ DFBInputDeviceKeySymbol symbol = 0;
+
+ if ( TranslateKey( &src, &sys, &cmd, &symbol ) )
+ {
+ SendKeyDown(symbol, src, sys, cmd, 0);
+ }
+}
+
+void
+jslibrc_KeyUp( int src, int sys, int cmd )
+{
+ DFBInputDeviceKeySymbol symbol = 0;
+
+ if ( TranslateKey( &src, &sys, &cmd, &symbol ) )
+ {
+ SendKeyUp(symbol, src, sys, cmd, 0);
+ }
+}
+
+
+
+int
+jslibrc_RequestActivity( amLib_EnumActivityId act, amLib_EnumActivation mode, int cookie )
+{
+ switch(act)
+ {
+ case amLib_ACT_HomeScreen:
+ SendKeyHK(HK_HOMESCREEN, 0, 0, mode, 0);
+ break;
+ case amLib_ACT_WatchTV:
+// key_KeyDown( source, system, command );
+ SendKeyHK(DIKS_TUNER, 3, 0, mode, 0);
+ break;
+ case amLib_ACT_BrowseUSB:
+ SendKeyHK(HK_MEDIA, MEDIA_USB,0,mode, 0);
+ break;
+ case amLib_ACT_BrowseDLNA:
+ SendKeyHK(HK_MEDIA, MEDIA_Network,0,mode, 0);
+ break;
+ case amLib_ACT_NetTV:
+ SendKeyHK(HK_HTML, 0, 0, mode, 0);
+ break;
+ case amLib_ACT_Dfu:
+ SendKeyHK(HK_DFU, 0, 0, mode, 0);
+ break;
+ case amLib_ACT_Teletext:
+ SendKeyHK(HK_TELETEXT, 0, 0, mode, 0);
+ break;
+ case amLib_ACT_RemoteApp:
+ SendKeyHK(HK_REMOTEAPP, 0, 0, mode, 0);
+ break;
+ default:
+ break;
+ }
+}
+
+
+
+void
+jslibrc_KeyDownEx( int src, int sys, int cmd )
+{
+ DFBInputDeviceKeySymbol symbol = 0;
+
+ if ( TranslateKey( &src, &sys, &cmd, &symbol ) )
+ {
+ SendKeyDown(symbol, src, sys, cmd, DIMM_HYPER);
+ }
+}
+
+void
+jslibrc_KeyUpEx( int src, int sys, int cmd )
+{
+ DFBInputDeviceKeySymbol symbol = 0;
+
+ if ( TranslateKey( &src, &sys, &cmd, &symbol ) )
+ {
+ SendKeyUp(symbol, src, sys, cmd, DIMM_HYPER);
+ }
+}
+
+int
+jslibrc_RequestActivityEx( amLib_EnumActivityId act, amLib_EnumActivation mode, int cookie )
+{
+ switch(act)
+ {
+ case amLib_ACT_HomeScreen:
+ SendKeyHK(HK_HOMESCREEN, 0, 0, mode, DIMM_HYPER);
+ break;
+ case amLib_ACT_WatchTV:
+// key_KeyDown( source, system, command );
+ SendKeyHK(DIKS_TUNER, 3, 0, mode, DIMM_HYPER);
+ break;
+ case amLib_ACT_BrowseUSB:
+ SendKeyHK(HK_MEDIA, MEDIA_USB,0,mode, DIMM_HYPER);
+ break;
+ case amLib_ACT_BrowseDLNA:
+ SendKeyHK(HK_MEDIA, MEDIA_Network,0,mode, DIMM_HYPER);
+ break;
+ case amLib_ACT_NetTV:
+ SendKeyHK(HK_HTML, 0, 0, mode, DIMM_HYPER);
+ break;
+ case amLib_ACT_Dfu:
+ SendKeyHK(HK_DFU, 0, 0, mode, DIMM_HYPER);
+ break;
+ case amLib_ACT_Teletext:
+ SendKeyHK(HK_TELETEXT, 0, 0, mode, DIMM_HYPER);
+ break;
+ case amLib_ACT_RemoteApp:
+ SendKeyHK(HK_REMOTEAPP, 0, 0, mode, DIMM_HYPER);
+ break;
+ default:
+ break;
+ }
+}
+
+void
+jslibrc_HIDKeyDown( int keycode )
+{
+ DFBInputEvent event;
+ int dfb_ret;
+
+ if (divine)
+ {
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_KEYPRESS;
+ event.flags = DIEF_KEYID;
+ event.key_id = keycode;
+ dfb_ret = divine->SendEvent (divine, &event);
+ }
+}
+
+void
+jslibrc_HIDKeyUp( int keycode )
+{
+ DFBInputEvent event;
+ int dfb_ret;
+
+ if (divine)
+ {
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_KEYRELEASE;
+ event.flags = DIEF_KEYID;
+ event.key_id = keycode;
+ dfb_ret = divine->SendEvent (divine, &event);
+ }
+}
+
+int
+jslibrc_HIDKeyDownEx( int keycode )
+{
+ DFBInputEvent event;
+ int dfb_ret = -1;
+
+ if (divine)
+ {
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_KEYPRESS;
+ event.flags = DIEF_KEYSYMBOL;
+ event.key_symbol = keycode;
+ dfb_ret = divine->SendEvent(divine, &event);
+ }
+ return dfb_ret;
+}
+
+int
+jslibrc_HIDKeyUpEx( int keycode )
+{
+ DFBInputEvent event;
+ int dfb_ret = -1;
+
+ if (divine)
+ {
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_KEYRELEASE;
+ event.flags = DIEF_KEYSYMBOL;
+ event.key_symbol = keycode;
+ dfb_ret = divine->SendEvent(divine, &event);
+ }
+ return dfb_ret;
+}
+
+void
+jslibrc_HidMouseMoveAbs ( int x, int y, int xmin, int xmax, int ymin, int ymax )
+{
+ DFBInputEvent event;
+ int dfb_ret;
+
+ if (divine)
+ {
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_AXISMOTION;
+ event.flags = DIEF_TIMESTAMP;
+ gettimeofday( &event.timestamp, NULL );
+ event.flags |= DIEF_AXISABS | DIEF_MIN | DIEF_MAX;
+ event.axis = DIAI_X;
+ event.min = xmin;
+ event.max = xmax;
+ event.axisabs = x;
+ dfb_ret = divine->SendEvent (divine, &event);
+ event.axis = DIAI_Y;
+ event.min = ymin;
+ event.max = ymax;
+ event.axisabs = y;
+ dfb_ret = divine->SendEvent (divine, &event);
+ }
+}
+
+void
+jslibrc_HidMouseMoveRel ( int dx, int dy, int sensitivity )
+{
+ DFBInputEvent event;
+ int dfb_ret;
+
+ if (divine)
+ {
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_AXISMOTION;
+ event.flags = DIEF_TIMESTAMP;
+ gettimeofday( &event.timestamp, NULL );
+ event.flags |= DIEF_AXISREL;
+ event.axis = DIAI_X;
+ event.axisrel = dx*sensitivity;
+ dfb_ret = divine->SendEvent (divine, &event);
+ event.axis = DIAI_Y;
+ event.axisrel = dy*sensitivity;
+ dfb_ret = divine->SendEvent (divine, &event);
+ }
+}
+
+void
+jslibrc_HidMouseMoveAbsEx ( int x, int y )
+{
+ DFBInputEvent event;
+ int dfb_ret;
+
+ if (divine)
+ {
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_AXISMOTION;
+ event.flags = DIEF_AXISABS;
+ event.axis = DIAI_X;
+ event.axisabs = x;
+ dfb_ret = divine->SendEvent (divine, &event);
+ event.axis = DIAI_Y;
+ event.axisabs = y;
+ dfb_ret = divine->SendEvent (divine, &event);
+ }
+}
+
+void
+jslibrc_HidMouseMoveRelEx ( int dx, int dy)
+{
+ DFBInputEvent event;
+ int dfb_ret;
+
+ if (divine)
+ {
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_AXISMOTION;
+ event.flags = DIEF_AXISREL;
+ event.axis = DIAI_X;
+ event.axisrel = dx;
+ dfb_ret = divine->SendEvent (divine, &event);
+ event.axis = DIAI_Y;
+ event.axisrel = dy;
+ dfb_ret = divine->SendEvent (divine, &event);
+ }
+}
+
+void
+jslibrc_HidMouseButtonDown ( int button )
+{
+ DFBInputEvent event;
+ int dfb_ret;
+
+ if (divine)
+ {
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_BUTTONPRESS;
+ event.flags = DIEF_NONE;
+ event.button = DIBI_FIRST;
+ dfb_ret = divine->SendEvent (divine, &event);
+ }
+}
+
+void
+jslibrc_HidMouseButtonUp( int button )
+{
+ DFBInputEvent event;
+ int dfb_ret;
+
+ if (divine)
+ {
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_BUTTONRELEASE;
+ event.flags = DIEF_NONE;;
+ event.button = DIBI_FIRST;
+ dfb_ret = divine->SendEvent (divine, &event);
+ }
+}
+
+void
+jslibrc_HidMouseButtonDownEx ( int button )
+{
+ DFBInputEvent event;
+ int dfb_ret;
+
+ if (divine)
+ {
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_BUTTONPRESS;
+ event.flags = 0;
+ event.button = DIBI_FIRST;
+ dfb_ret = divine->SendEvent (divine, &event);
+ }
+}
+
+void
+jslibrc_HidMouseButtonUpEx( int button )
+{
+ DFBInputEvent event;
+ int dfb_ret;
+
+ if (divine)
+ {
+ event.clazz = DFEC_INPUT;
+ event.type = DIET_BUTTONRELEASE;
+ event.flags = 0;
+ event.button = DIBI_FIRST;
+ dfb_ret = divine->SendEvent (divine, &event);
+ }
+}
\ No newline at end of file diff --git a/Jslib/jslibrc/jslibrc_client.h b/Jslib/jslibrc/jslibrc_client.h new file mode 100755 index 0000000..c1d9c15 --- /dev/null +++ b/Jslib/jslibrc/jslibrc_client.h @@ -0,0 +1,60 @@ + +/* + * Copyright © 2009, Koninklijke Philips Electronics N.V. + * All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * - Neither the name of the Koninklijke Philips Electronics N.V. nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef __JSLIBRC_CLIENT__ +#define __JSLIBRC_CLIENT__ + +#include <jslibrc_types.h> + + +int jslibrc_Init( int *argc, char **argv[] ); +void jslibrc_Exit( void ); + +void jslibrc_KeyDown( int src, int sys, int cmd ); +void jslibrc_KeyUp ( int src, int sys, int cmd ); +int jslibrc_RequestActivity( amLib_EnumActivityId act, amLib_EnumActivation mode, int cookie ); +/* To be used from 2k11 TV models onward */ +void jslibrc_KeyDownEx( int src, int sys, int cmd ); +void jslibrc_KeyUpEx ( int src, int sys, int cmd ); +int jslibrc_RequestActivityEx( amLib_EnumActivityId act, amLib_EnumActivation mode, int cookie ); +void jslibrc_HIDKeyDown( int keycode ); +void jslibrc_HIDKeyUp( int keycode ); +int jslibrc_HIDKeyDownEx( int keycode ); +int jslibrc_HIDKeyUpEx( int keycode ); +void jslibrc_HidMouseMoveAbs ( int x, int y, int xmin, int xmax, int ymin, int ymax ); +void jslibrc_HidMouseMoveRel ( int dx, int dy, int sensitivity ); +void jslibrc_HidMouseMoveAbsEx ( int x, int y ); +void jslibrc_HidMouseMoveRelEx ( int dx, int dy ); +void jslibrc_HidMouseButtonDown ( int button ); +void jslibrc_HidMouseButtonUp( int button ); +void jslibrc_HidMouseButtonDownEx ( int button ); +void jslibrc_HidMouseButtonUpEx( int button ); + +#endif + diff --git a/Jslib/jslibrc/jslibrc_types.h b/Jslib/jslibrc/jslibrc_types.h new file mode 100755 index 0000000..9757abe --- /dev/null +++ b/Jslib/jslibrc/jslibrc_types.h @@ -0,0 +1,431 @@ +#ifndef __JSLIBRC_TYPES__ +#define __JSLIBRC_TYPES__ + + +/* Rc5 System 0 raw key codes ----------------------*/ +#define rc5S0Digit0 0 +#define rc5S0Digit1 1 +#define rc5S0Digit2 2 +#define rc5S0Digit3 3 +#define rc5S0Digit4 4 +#define rc5S0Digit5 5 +#define rc5S0Digit6 6 +#define rc5S0Digit7 7 +#define rc5S0Digit8 8 +#define rc5S0Digit9 9 +#define rc5S0123Digits 10 +#define rc5S0ChannelProgramFrequency 11 +#define rc5S0Standby 12 +#define rc5S0MasterMuteDemute 13 +#define rc5S0PersonalPreference 14 +#define rc5S0Display 15 +#define rc5S0MasterVolumeUp 16 +#define rc5S0MasterVolumeDown 17 +#define rc5S0MasterBrightnessUp 18 +#define rc5S0MasterBrightnessDown 19 +#define rc5S0MasterSaturationUp 20 +#define rc5S0MasterSaturationDown 21 +#define rc5S0MasterBassUp 22 +#define rc5S0MasterBassDown 23 +#define rc5S0MasterTrebleUp 24 +#define rc5S0MasterTrebleDown 25 +#define rc5S0MasterBalanceRight 26 +#define rc5S0MasterBalanceLeft 27 +#define rc5S0ContrastUp 28 +#define rc5S0ContrastDown 29 +#define rc5S0SearchUp 30 +#define rc5S0TintHueDown 31 +#define rc5S0ChannelProgramUp 32 +#define rc5S0ChannelProgramDown 33 +#define rc5S0AlternateChannel 34 +#define rc5S0SoundSelect 35 +#define rc5S0SpatialStereo 36 +#define rc5S0StereoMono 37 +#define rc5S0Sleeptimer 38 +#define rc5S0TintHueUp 39 +#define rc5S0RfSwitch 40 +#define rc5S0StoreExecute 41 +#define rc5S0Time 42 +#define rc5S0ScanForward 43 +#define rc5S0Decrement 44 +#define rc5S0Cancel 45 +#define rc5S0SecondaryControlMenu 46 +#define rc5S0ShowClock 47 +#define rc5S0Pause 48 +#define rc5S0EraseCorrect 49 +#define rc5S0Rewind 50 +#define rc5S0GoTo 51 +#define rc5S0Wind 52 +#define rc5S0Play 53 +#define rc5S0Stop 54 +#define rc5S0Record 55 +#define rc5S0External1 56 +#define rc5S0External2 57 +#define rc5S0ClosedCaptioning 58 +#define rc5S0ViewDataAdvance 59 +#define rc5S0TxtSubmode 60 +#define rc5S0SystemStandby 61 +#define rc5S0Crispener 62 +#define rc5S0SystemSelect 63 +#define rc5S0SurroundSoundScroll 64 +/* define rc5S0... 65 */ +/* define rc5S0... 66 */ +#define rc5S0PipReplay 67 +#define rc5S0PipClear 68 +#define rc5S0PipSlowMotion 69 +#define rc5S0SpeechMusic 70 +#define rc5S0DimDown 71 +#define rc5S0RfLocator 72 +#define rc5S0Increment 73 +#define rc5S0Help 74 +#define rc5S0TunerAb 75 +#define rc5S0PcTv 76 +#define rc5S0LinearIncrement 77 +#define rc5S0LinearDecrement 78 +#define rc5S0SoundScroll 79 +#define rc5S0StepUp 80 +#define rc5S0StepDown 81 +#define rc5S0MenuOn 82 +#define rc5S0MenuOff 83 +#define rc5S0DisplayAvSystemStatus 84 +#define rc5S0StepLeft 85 +#define rc5S0StepRight 86 +#define rc5S0Acknowledge 87 +#define rc5S0PipPopOff 88 +#define rc5S0PipShift 89 +#define rc5S0PipMainSwap 90 +#define rc5S0StrobeOnOff 91 +#define rc5S0MultiStrobe 92 +#define rc5S0MainFreezed 93 +#define rc5S0MultiScanPip 94 +#define rc5S0PipSelect 95 +#define rc5S0MosaicMultiPip 96 +#define rc5S0PictureDigitalNoiseReduction 97 +#define rc5S0MainStored 98 +#define rc5S0PipStrobe 99 +#define rc5S0RecallMain 100 +#define rc5S0PipFreeze 101 +#define rc5S0PipStepUp 102 +#define rc5S0PipStepDown 103 +#define rc5S0PipSize 104 +#define rc5S0PictureScroll 105 +#define rc5S0ActuartorOnOff 106 +#define rc5S0Red 107 +#define rc5S0Green 108 +#define rc5S0Yellow 109 +#define rc5S0Cyan 110 +#define rc5S0IndexWhiteCancel 111 +#define rc5S0Next 112 +#define rc5S0Previous 113 +#define rc5S0LearningUp 114 +#define rc5S0LearningDown 115 +#define rc5S0ZoomPlus 116 +#define rc5S0SubtitleReposition 117 +#define rc5S0SubMode 118 +#define rc5S0OptionSubMode 119 +#define rc5S0ChannelGuide 120 +#define rc5S0SmartChannel 121 +#define rc5S0StoreOpenClose 122 +#define rc5S0Connect 123 +#define rc5S0Disconnect 124 +#define rc5S0ZoomMinus 125 +#define rc5S0MovieExpand 126 +#define rc5S0ParentalAccess 127 + + +/* Rc6 System 0 raw key codes ----------------------*/
+#define rc6S0Digit0 0
+#define rc6S0Digit1 1
+#define rc6S0Digit2 2
+#define rc6S0Digit3 3
+#define rc6S0Digit4 4
+#define rc6S0Digit5 5
+#define rc6S0Digit6 6
+#define rc6S0Digit7 7
+#define rc6S0Digit8 8
+#define rc6S0Digit9 9
+#define rc6S0PreviousProgram 10
+/* define rc6S0... 11 */
+#define rc6S0Standby 12
+#define rc6S0MuteDemute 13
+#define rc6S0PersonalPreference 14
+#define rc6S0Display 15
+#define rc6S0VolumeUp 16
+#define rc6S0VolumeDown 17
+#define rc6S0BrightnessUp 18
+#define rc6S0BrightnessDown 19
+#define rc6S0SaturationUp 20
+#define rc6S0SaturationDown 21
+#define rc6S0BassUp 22
+#define rc6S0BassDown 23
+#define rc6S0TrebleUp 24
+#define rc6S0TrebleDown 25
+#define rc6S0BalanceRight 26
+#define rc6S0BalanceLeft 27
+#define rc6S0CtrlLastPosition 28
+/* define rc6S0... 29 */
+#define rc6S0SearchUp 30
+#define rc6S0SearchDown 31
+#define rc6S0Next 32
+#define rc6S0Previous 33
+/* define rc6S0... 34 */
+/* define rc6S0... 35 */
+/* define rc6S0... 36 */
+/* define rc6S0... 37 */
+/* define rc6S0... 38 */
+/* define rc6S0... 39 */
+#define rc6S0FastForward 40
+/* define rc6S0... 41 */
+/* define rc6S0... 42 */
+#define rc6S0ScanReverse 43
+#define rc6S0Play 44
+/* define rc6S0... 45 */
+/* define rc6S0... 46 */
+/* define rc6S0... 47 */
+/* define rc6S0... 48 */
+#define rc6S0Stop 49
+/* define rc6S0... 50 */
+/* define rc6S0... 51 */
+/* define rc6S0... 52 */
+/* define rc6S0... 53 */
+/* define rc6S0... 54 */
+#define rc6S0Record 55
+#define rc6S0External1 56
+#define rc6S0External2 57
+/* define rc6S0... 58 */
+#define rc6S0AbProgram 59
+#define rc6S0TxtSubmode 60
+#define rc6S0SystemStandby 61
+/* define rc6S0... 62 */
+#define rc6S0SystemSelect 63
+#define rc6S0ContextualOptions 64
+/* define rc6S0... 65 */
+/* define rc6S0... 66 */
+/* define rc6S0... 67 */
+/* define rc6S0... 68 */
+#define rc6S0StoreOpenClose 69
+#define rc6S0ClosedCaptioning 70
+#define rc6S0Sleeptimer 71
+/* define rc6S0... 72 */
+/* define rc6S0... 73 */
+#define rc6S0PictureNumberTime 74
+#define rc6S0TvTextSubtitle 75
+/* define rc6S0... 76 */
+/* define rc6S0... 77 */
+#define rc6S0SoundSelect 78
+#define rc6S0SpatialStereo 79
+#define rc6S0StereoMono 80
+#define rc6S0SoundScroll 81
+#define rc6S0SurroundSound 82
+#define rc6S0SurroundSoundScroll 83
+#define rc6S0MenuOn 84
+#define rc6S0MenuOff 85
+/* define rc6S0... 86 */
+/* define rc6S0... 87 */
+#define rc6S0StepUp 88
+#define rc6S0StepDown 89
+#define rc6S0StepLeft 90
+#define rc6S0StepRight 91
+#define rc6S0Acknowledge 92
+#define rc6S0PipOnOff 93
+#define rc6S0PipSelect 94
+#define rc6S0PipShift 95
+#define rc6S0PipSize 96
+#define rc6S0PipStepDown 97
+#define rc6S0PipStepUp 98
+#define rc6S0PipMainSwap 99
+#define rc6S0PipFreeze 100
+#define rc6S0PipStrobe 101
+#define rc6S0MosaicMultiPip 102
+#define rc6S0MainFreezed 103
+#define rc6S0MainStored 104
+/* define rc6S0... 105 */
+/* define rc6S0... 106 */
+/* define rc6S0... 107 */
+/* define rc6S0... 108 */
+#define rc6S0Red 109
+#define rc6S0Green 110
+#define rc6S0Yellow 111
+#define rc6S0Cyan 112
+#define rc6S0IndexWhite 113
+/* define rc6S0... 114 */
+/* define rc6S0... 115 */
+/* define rc6S0... 116 */
+#define rc6S0TimerSet 117
+/* define rc6S0... 118 */
+/* define rc6S0... 119 */
+#define rc6S0Preset10 120
+#define rc6S0Preset11 121
+#define rc6S0Preset12 122
+#define rc6S0Preset13 123
+#define rc6S0Preset14 124
+#define rc6S0Preset15 125
+#define rc6S0Preset16 126
+#define rc6S0Time 127
+/* define rc6S0... 128 */
+#define rc6S0Help 129
+#define rc6S0DefaultMenuSelect 130
+/* define rc6S0... 131 */
+#define rc6S0FavouriteMode 132
+#define rc6S0SwivelMode 133
+#define rc6S0External3 134
+#define rc6S0External4 135
+#define rc6S0External5 136
+/* define rc6S0... 137 */
+#define rc6S0VideoVgaSelect 138
+#define rc6S0NextSource 139
+#define rc6S0BacklightUp 140
+#define rc6S0BacklightDown 141
+#define rc6S0HdAtHome 142
+#define rc6S0AmbLightOnOffDim 143
+#define rc6S0AmbLightMode 144
+#define rc6S0AmbilightBrightnessUp 145
+#define rc6S0AmbilightBrightnessDown 146
+/* define rc6S0... 147 */
+/* define rc6S0... 148 */
+/* define rc6S0... 149 */
+#define rc6S0Smart 150
+#define rc6S0SoftKey1A 151
+#define rc6S0SoftKey1B 152
+#define rc6S0SoftKey2A 153
+#define rc6S0SoftKey2B 154
+#define rc6S0SoftKey3A 155
+#define rc6S0SoftKey3B 156
+#define rc6S0Smiley 157
+#define rc6S0Frownie 158
+/* define rc6S0... 159 */
+/* define rc6S0... 160 */
+/* define rc6S0... 161 */
+/* define rc6S0... 162 */
+#define rc6S0AvMute 163
+/* define rc6S0... 164 */
+/* define rc6S0... 165 */
+/* define rc6S0... 166 */
+/* define rc6S0... 167 */
+/* define rc6S0... 168 */
+/* define rc6S0... 169 */
+/* define rc6S0... 170 */
+/* define rc6S0... 171 */
+/* define rc6S0... 172 */
+/* define rc6S0... 173 */
+/* define rc6S0... 174 */
+/* define rc6S0... 175 */
+#define rc6S0MainSubmode 176
+#define rc6S0Resume 177
+/* define rc6S0... 178 */
+/* define rc6S0... 179 */
+/* define rc6S0... 180 */
+/* define rc6S0... 181 */
+/* define rc6S0... 182 */
+/* define rc6S0... 183 */
+/* define rc6S0... 184 */
+/* define rc6S0... 185 */
+/* define rc6S0... 186 */
+/* define rc6S0... 187 */
+/* define rc6S0... 188 */
+/* define rc6S0... 189 */
+#define rc6S0DisplayBrowser 190
+/* define rc6S0... 191 */
+#define rc6S0AnalogueDigital 192
+#define rc6S0DigitalSetupMenu 193
+#define rc6S0OneTouchHomeCinema 194
+#define rc6S0BatteryLow 195
+#define rc6S0CursorUpRight 196
+#define rc6S0CursorUpLeft 197
+#define rc6S0CursorDownRight 198
+#define rc6S0CursorDownLeft 199
+#define rc6S0Digit100 200
+#define rc6S0RotCabClockwise 201
+#define rc6S0CenterCabinet 202
+#define rc6S0RotCabAntiClockwise 203
+#define rc6S0EpgGuide 204
+#define rc6S0ToggleStandby 205
+#define rc6S0PageUp 206
+#define rc6S0PageDown 207
+#define rc6S0DigitalPictureMenu 208
+#define rc6S0StartPage 209
+#define rc6S0FavouritesList 210
+#define rc6S0MarkListitem 211
+/* define rc6S0... 212 */
+#define rc6S0SubmodeSystemMenu 213
+#define rc6S0ZoomOnOff 214
+#define rc6S0CableMode 215
+#define rc6S0WideScreen 216
+#define rc6S0Dot 217
+#define rc6S0SpeechMusic 218
+#define rc6S0Options 219
+#define rc6S0RfSwitch 220
+#define rc6S0ActuatorOnOff 221
+#define rc6S0Learn1 222
+#define rc6S0Learn2 223
+#define rc6S0CancelPicture 224
+#define rc6S0Enter 225
+#define rc6S0Exchange 226
+#define rc6S0TxtTv 227
+#define rc6S0NewsFlash 228
+#define rc6S0RowZero 229
+#define rc6S0SequenceOut 230
+#define rc6S0LargeTopBottomNormal 231
+#define rc6S0StepPageDown 232
+#define rc6S0StepPageUp 233
+#define rc6S0RevealConceal 234
+#define rc6S0PageHold 235
+#define rc6S0Index 236
+#define rc6S0RadioChannelDown 237
+#define rc6S0RadioChannelUp 238
+#define rc6S0PayTvChannelDown 239
+#define rc6S0PayTvChannelUp 240
+#define rc6S0TiltForward 241
+#define rc6S0TiltBackward 242
+#define rc6S0VideoPp 243
+#define rc6S0AudioPp 244
+#define rc6S0MovieExpand 245
+#define rc6S0ZoomMinus 246
+#define rc6S0ZoomPlus 247
+#define rc6S0ShowClock 248
+#define rc6S0PictureDigitalNoiseReduction 249
+#define rc6S0Crispener 250
+#define rc6S0ContrastDown 251
+#define rc6S0ContrastUp 252
+#define rc6S0TintHueDown 253
+#define rc6S0TintHueUp 254
+#define rc6S0Wysiwyr 255
+
+
+
+#define keySourceLkb 1 +#define keySourceRc5 2 +#define keySourceRc6 3
+
+
+typedef enum{
+ amLib_ACT_Toggle,
+ amLib_ACT_Start,
+ amLib_ACT_Stop,
+ amLib_ACT_StartNoFocus
+} amLib_EnumActivation;
+
+typedef enum{
+ amLib_ACT_HomeScreen,
+ amLib_ACT_NetTV,
+ amLib_ACT_BrowseUSB,
+ amLib_ACT_BrowseDLNA,
+ amLib_ACT_WatchTV,
+ amLib_ACT_WatchSatellite,
+ amLib_ACT_WatchExt,
+ amLib_ACT_MultiApp,
+ amLib_ACT_VideoStore,
+ amLib_ACT_Dfu,
+ amLib_ACT_Teletext,
+ amLib_ACT_Epg,
+ amLib_ACT_Esticker,
+ amLib_ACT_Mhp,
+ amLib_ACT_Upgrade,
+ amLib_ACT_LoadingAnimation,
+ amLib_ACT_Widgets,
+ amLib_ACT_RemoteApp
+} amLib_EnumActivityId;
+
+ +#endif + diff --git a/Jslib/tools/remco.c b/Jslib/tools/remco.c new file mode 100755 index 0000000..9f3441f --- /dev/null +++ b/Jslib/tools/remco.c @@ -0,0 +1,326 @@ +/*
+ * Copyright © 2009, Koninklijke Philips Electronics N.V.
+ * All rights reserved.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * - Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * - Neither the name of the Koninklijke Philips Electronics N.V. nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <direct/util.h>
+#include <jslibrc_client.h>
+//#include <directfb_keyboard.h>
+
+
+/**************************************
+* Local macros/typedef
+**************************************/
+#define LINE_LENGTH 256
+#define FILENAME_LENGTH 128
+
+// Local enumeration for Hotkeys
+#define HK_HOMESCREEN_START (0x1000+1)
+#define HK_HOMESCREEN_STOP (0x1000+2)
+#define HK_WATCHTV_START (0x1000+3)
+#define HK_WATCHTV_STOP (0x1000+4)
+#define HK_CB_USB_START (0x1000+5)
+#define HK_CB_USB_STOP (0x1000+6)
+#define HK_CB_DLNA_START (0x1000+7)
+#define HK_CB_DLNA_STOP (0x1000+8)
+#define HK_NETTV_START (0x1000+9)
+#define HK_NETTV_STOP (0x1000+10)
+#define HK_DFU_START (0x1000+11)
+#define HK_DFU_STOP (0x1000+12)
+#define HK_TELETEXT_START (0x1000+13)
+#define HK_TELETEXT_STOP (0x1000+14)
+#define HK_REMOTEAPP_START (0x1000+15)
+#define HK_REMOTEAPP_STOP (0x1000+16)
+
+
+/***************************************
+* Local data
+***************************************/
+static void * rcButtonMatrix[]={
+ (void *)"Red",(void *)"Green",(void *)"Yellow",(void *)"Blue",(void *)"Standby",
+ (void *)NULL, (void *)"Back", (void *)"Home", (void *)"Options",(void *)NULL,
+ (void *)NULL, (void *)NULL, (void *)"Up", (void *)NULL, (void *)NULL,
+ (void *)"Mute", (void *)"Left", (void *)"OK", (void *)"Right",(void *)NULL,
+ (void *)"VolUp",(void *)NULL, (void *)"Down", (void *)NULL, (void *)"PgUp",
+ (void *)"VolDn",(void *)"1", (void *)"2", (void *)"3", (void *)"PgDn",
+ (void *)NULL, (void *)"4", (void *)"5", (void *)"6", (void *)NULL,
+ (void *)NULL, (void *)"7", (void *)"8", (void *)"9", (void *)NULL,
+ (void *)NULL, (void *)"Subt.",(void *)"0", (void *)"Source",(void *)NULL,
+ (void *)NULL, (void *)"EPG", (void *)"Ambi", (void *)"Info",(void *)NULL,
+ (void *)"HK_HOMESCREEN_START", (void *)"HK_WATCHTV_START", (void *)"HK_CB_USB_START", (void *)"HK_CB_DLNA_START", (void *)"HK_NETTV_START",
+ (void *)"HK_DFU_START", (void *)"HK_TELETEXT_START", (void *)"HK_REMOTEAPP_START", (void *)NULL, (void *)NULL,
+ (void *)"HK_HOMESCREEN_STOP", (void *)"HK_WATCHTV_STOP", (void *)"HK_CB_USB_STOP", (void *)"HK_CB_DLNA_STOP", (void *)"HK_NETTV_STOP",
+ (void *)"HK_DFU_STOP", (void *)"HK_TELETEXT_STOP", (void *)"HK_REMOTEAPP_STOP", (void *)NULL, (void *)NULL };
+
+static int rcButtonMapping[]={
+ rc6S0Red, rc6S0Green, rc6S0Yellow, rc6S0Cyan, rc6S0Standby,
+ -1, rc6S0PreviousProgram, rc6S0MenuOn, rc6S0Options, -1,
+ -1, -1, rc6S0StepUp, -1, -1,
+ rc6S0MuteDemute, rc6S0StepLeft, rc6S0Acknowledge, rc6S0StepRight, -1,
+ rc6S0VolumeUp, -1, rc6S0StepDown, -1, rc6S0Next,
+ rc6S0VolumeDown, 1, 2, 3, rc6S0Previous,
+ -1, 4, 5, 6, -1,
+ -1, 7, 8, 9, -1,
+ -1, rc6S0TvTextSubtitle, 0, rc6S0NextSource, -1,
+ -1, rc6S0EpgGuide, rc6S0AmbLightOnOffDim, rc6S0Display, -1,
+ HK_HOMESCREEN_START, HK_WATCHTV_START, HK_CB_USB_START, HK_CB_DLNA_START, HK_NETTV_START,
+ HK_DFU_START, HK_TELETEXT_START, HK_REMOTEAPP_START, -1, -1,
+ HK_HOMESCREEN_STOP, HK_WATCHTV_STOP, HK_CB_USB_STOP, HK_CB_DLNA_STOP, HK_NETTV_STOP,
+ HK_DFU_STOP, HK_TELETEXT_STOP, HK_REMOTEAPP_STOP, -1, -1 };
+
+
+ +/***************************************
+* Local procedures
+***************************************/
+static int IsNumStr(const char * pStr)
+{
+ if (*pStr == '-' || *pStr == '+') pStr++;
+ return (*pStr >= '0' && *pStr <= '9');
+}
+
+static int ReadDimsArg(const char * pArg, int * width, int * height)
+{
+ int nWidth=1;
+ int nHeight=1;
+
+ if (IsNumStr(pArg)) nWidth = strtol(pArg, (char **) &pArg, 10); else return 0;
+ if ('x' == *pArg++ && IsNumStr(pArg)) nHeight = strtol(pArg, (char **) &pArg, 10); else return 0;
+ if (*pArg != '\0') return 0;
+ if (nWidth <= 0 || nHeight <= 0) return 0;
+ *width = nWidth;
+ *height = nHeight;
+ return 1;
+}
+
+static int ReadNumberArg(const char * pArg, int * value)
+{
+ int val=0;
+
+ if (IsNumStr(pArg)) val = strtol(pArg, (char **) &pArg, 10); else return 0;
+ *value = val;
+ return 1;
+}
+ + +static int +LookupCommand( const char *name ) +{ + int i; + + for (i=0; i<D_ARRAY_SIZE(rcButtonMatrix); i++) { + if (!rcButtonMatrix[i]) + continue; + + if (!strncasecmp( name, rcButtonMatrix[i], strlen(name) )) + return rcButtonMapping[i]; + } + + return 0; +} +
+
+static void
+CleanLine( char *line )
+{
+ while ( (*line != '\r') && (*line != '\n') && (*line != ';'))
+ {
+ line++;
+ }
+ *line = 0;
+}
+
+
+static void
+ExecuteCommand(int command)
+{
+ switch(command)
+ {
+ case HK_HOMESCREEN_START:
+ jslibrc_RequestActivity( amLib_ACT_HomeScreen, amLib_ACT_Start, 0 );
+ break;
+ case HK_HOMESCREEN_STOP:
+ jslibrc_RequestActivity( amLib_ACT_HomeScreen, amLib_ACT_Stop, 0 );
+ break;
+ case HK_WATCHTV_START:
+ jslibrc_RequestActivity( amLib_ACT_WatchTV, amLib_ACT_Start, 0 );
+ break;
+ case HK_WATCHTV_STOP:
+ jslibrc_RequestActivity( amLib_ACT_WatchTV, amLib_ACT_Stop, 0 );
+ break;
+ case HK_CB_USB_START:
+ jslibrc_RequestActivity( amLib_ACT_BrowseUSB, amLib_ACT_Start, 0 );
+ break;
+ case HK_CB_USB_STOP:
+ jslibrc_RequestActivity( amLib_ACT_BrowseUSB, amLib_ACT_Stop, 0 );
+ break;
+ case HK_CB_DLNA_START:
+ jslibrc_RequestActivity( amLib_ACT_BrowseDLNA, amLib_ACT_Start, 0 );
+ break;
+ case HK_CB_DLNA_STOP:
+ jslibrc_RequestActivity( amLib_ACT_BrowseDLNA, amLib_ACT_Stop, 0 );
+ break;
+ case HK_NETTV_START:
+ jslibrc_RequestActivity( amLib_ACT_NetTV, amLib_ACT_Start, 0 );
+ break;
+ case HK_NETTV_STOP:
+ jslibrc_RequestActivity( amLib_ACT_NetTV, amLib_ACT_Stop, 0 );
+ break;
+ case HK_DFU_START:
+ jslibrc_RequestActivity( amLib_ACT_Dfu, amLib_ACT_Start, 0 );
+ break;
+ case HK_DFU_STOP:
+ jslibrc_RequestActivity( amLib_ACT_Dfu, amLib_ACT_Stop, 0 );
+ break;
+ case HK_TELETEXT_START:
+ jslibrc_RequestActivity( amLib_ACT_Teletext, amLib_ACT_Start, 0 );
+ break;
+ case HK_TELETEXT_STOP:
+ jslibrc_RequestActivity( amLib_ACT_Teletext, amLib_ACT_Stop, 0 );
+ break;
+ case HK_REMOTEAPP_START:
+ jslibrc_RequestActivity( amLib_ACT_RemoteApp, amLib_ACT_Start, 0 );
+ break;
+ case HK_REMOTEAPP_STOP:
+ jslibrc_RequestActivity( amLib_ACT_RemoteApp, amLib_ACT_Stop, 0 );
+ break;
+ default:
+ jslibrc_KeyDown( keySourceRc6, 0, command );
+ jslibrc_KeyUp( keySourceRc6, 0, command );
+// jslibrc_HIDKeyDown( DIKI_O );
+// jslibrc_HIDKeyUp( DIKI_O );
+ break;
+ }
+}
+
+ +/***************************************
+* Main procedure
+***************************************/
+int +main (int argc, char *argv[]) +{ + int i,k; + int bParseOK = 1;
+ char filename[FILENAME_LENGTH]={'\0'};
+ char line[LINE_LENGTH+1];
+ int timeout;
+ FILE *f;
+
+ jslibrc_Init( &argc, &argv );
+
+ // Print ussage
+ printf("\n\n");
+ printf("Usage: remco [--keycommandfile <file>] keycommand keycommand ...\n\n");
+ printf("Supported key commands:\n");
+ k=0;
+ for (i=0; i<D_ARRAY_SIZE(rcButtonMatrix); i++) {
+ if (!rcButtonMatrix[i])
+ continue;
+ printf("'%s' ", rcButtonMatrix[i]);
+ k++;
+ if ( !(k%4) ) printf("\n");
+ }
+ printf("\n\n");
+
+
+ // Parse arguments
+ for (i = 1; i < argc && bParseOK; i++)
+ {
+ const char * pArg = argv[i];
+ if ('-' == *pArg++ && '-' == *pArg++)
+ {
+ if ((0 == strcmp(pArg, "keycommandfile")) && (i + 1 < argc))
+ {
+ strncpy (filename, argv[i+1], sizeof(filename) );
+ printf("Reading commands from %s\n\n", filename);
+ }
+ else
+ {
+ bParseOK = 0;
+ }
+ }
+ }
+ if (!bParseOK) exit;
+
+ + if (filename[0])
+ {
+ // Use file as input
+ if (f = fopen(filename,"r"))
+ {
+ while (fgets(line, LINE_LENGTH, f))
+ {
+ if ( (line[0] != 0) && (line[0] != ';') && (line[0] != '#') )
+ {
+ CleanLine(line);
+ printf("%s\n", line);
+ if (!strncmp(line, "sleep", 5))
+ {
+ sscanf(&line[5], "%d", &timeout);
+ sleep(timeout);
+ }
+ else
+ {
+ int command = LookupCommand(line);
+ if (command == -1)
+ {
+ printf( "Unknown key command '%s'\n", line );
+ continue;
+ }
+ ExecuteCommand(command);
+ }
+ }
+ }
+ fclose(f);
+ }
+ else
+ {
+ printf( "File not found!\n");
+ }
+ }
+ else
+ {
+ // Use ARGVs
+ for (i=1; i<argc; i++)
+ {
+ int command = LookupCommand( argv[i] );
+ if (command == -1)
+ {
+ printf( "Unknown key command '%s'!\n", argv[i] );
+ continue;
+ }
+ ExecuteCommand(command);
+ }
+ }
+
+ jslibrc_Exit(); + + return 0; +} + diff --git a/Jslib/tools/remco2k11.c b/Jslib/tools/remco2k11.c new file mode 100755 index 0000000..942ef2c --- /dev/null +++ b/Jslib/tools/remco2k11.c @@ -0,0 +1,323 @@ +/*
+ * Copyright © 2009, Koninklijke Philips Electronics N.V.
+ * All rights reserved.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * - Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * - Neither the name of the Koninklijke Philips Electronics N.V. nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <direct/util.h>
+#include <jslibrc_client.h>
+
+
+/**************************************
+* Local macros/typedef
+**************************************/
+#define LINE_LENGTH 256
+#define FILENAME_LENGTH 128
+
+// Local enumeration for Hotkeys
+#define HK_HOMESCREEN_START (0x1000+1)
+#define HK_HOMESCREEN_STOP (0x1000+2)
+#define HK_WATCHTV_START (0x1000+3)
+#define HK_WATCHTV_STOP (0x1000+4)
+#define HK_CB_USB_START (0x1000+5)
+#define HK_CB_USB_STOP (0x1000+6)
+#define HK_CB_DLNA_START (0x1000+7)
+#define HK_CB_DLNA_STOP (0x1000+8)
+#define HK_NETTV_START (0x1000+9)
+#define HK_NETTV_STOP (0x1000+10)
+#define HK_DFU_START (0x1000+11)
+#define HK_DFU_STOP (0x1000+12)
+#define HK_TELETEXT_START (0x1000+13)
+#define HK_TELETEXT_STOP (0x1000+14)
+#define HK_REMOTEAPP_START (0x1000+15)
+#define HK_REMOTEAPP_STOP (0x1000+16)
+
+
+/***************************************
+* Local data
+***************************************/
+static void * rcButtonMatrix[]={
+ (void *)"Red",(void *)"Green",(void *)"Yellow",(void *)"Blue",(void *)"Standby",
+ (void *)NULL, (void *)"Back", (void *)"Home", (void *)"Options",(void *)NULL,
+ (void *)NULL, (void *)NULL, (void *)"Up", (void *)NULL, (void *)NULL,
+ (void *)"Mute", (void *)"Left", (void *)"OK", (void *)"Right",(void *)NULL,
+ (void *)"VolUp",(void *)NULL, (void *)"Down", (void *)NULL, (void *)"PgUp",
+ (void *)"VolDn",(void *)"1", (void *)"2", (void *)"3", (void *)"PgDn",
+ (void *)NULL, (void *)"4", (void *)"5", (void *)"6", (void *)NULL,
+ (void *)NULL, (void *)"7", (void *)"8", (void *)"9", (void *)NULL,
+ (void *)NULL, (void *)"Subt.",(void *)"0", (void *)"Source",(void *)NULL,
+ (void *)NULL, (void *)"EPG", (void *)"Ambi", (void *)"Info",(void *)NULL,
+ (void *)"HK_HOMESCREEN_START", (void *)"HK_WATCHTV_START", (void *)"HK_CB_USB_START", (void *)"HK_CB_DLNA_START", (void *)"HK_NETTV_START",
+ (void *)"HK_DFU_START", (void *)"HK_TELETEXT_START", (void *)"HK_REMOTEAPP_START", (void *)NULL, (void *)NULL,
+ (void *)"HK_HOMESCREEN_STOP", (void *)"HK_WATCHTV_STOP", (void *)"HK_CB_USB_STOP", (void *)"HK_CB_DLNA_STOP", (void *)"HK_NETTV_STOP",
+ (void *)"HK_DFU_STOP", (void *)"HK_TELETEXT_STOP", (void *)"HK_REMOTEAPP_STOP", (void *)NULL, (void *)NULL };
+
+static int rcButtonMapping[]={
+ rc6S0Red, rc6S0Green, rc6S0Yellow, rc6S0Cyan, rc6S0Standby,
+ -1, rc6S0PreviousProgram, rc6S0MenuOn, rc6S0Options, -1,
+ -1, -1, rc6S0StepUp, -1, -1,
+ rc6S0MuteDemute, rc6S0StepLeft, rc6S0Acknowledge, rc6S0StepRight, -1,
+ rc6S0VolumeUp, -1, rc6S0StepDown, -1, rc6S0Next,
+ rc6S0VolumeDown, 1, 2, 3, rc6S0Previous,
+ -1, 4, 5, 6, -1,
+ -1, 7, 8, 9, -1,
+ -1, rc6S0TvTextSubtitle, 0, rc6S0NextSource, -1,
+ -1, rc6S0EpgGuide, rc6S0AmbLightOnOffDim, rc6S0Display, -1,
+ HK_HOMESCREEN_START, HK_WATCHTV_START, HK_CB_USB_START, HK_CB_DLNA_START, HK_NETTV_START,
+ HK_DFU_START, HK_TELETEXT_START, HK_REMOTEAPP_START, -1, -1,
+ HK_HOMESCREEN_STOP, HK_WATCHTV_STOP, HK_CB_USB_STOP, HK_CB_DLNA_STOP, HK_NETTV_STOP,
+ HK_DFU_STOP, HK_TELETEXT_STOP, HK_REMOTEAPP_STOP, -1, -1 };
+
+
+ +/***************************************
+* Local procedures
+***************************************/
+static int IsNumStr(const char * pStr)
+{
+ if (*pStr == '-' || *pStr == '+') pStr++;
+ return (*pStr >= '0' && *pStr <= '9');
+}
+
+static int ReadDimsArg(const char * pArg, int * width, int * height)
+{
+ int nWidth=1;
+ int nHeight=1;
+
+ if (IsNumStr(pArg)) nWidth = strtol(pArg, (char **) &pArg, 10); else return 0;
+ if ('x' == *pArg++ && IsNumStr(pArg)) nHeight = strtol(pArg, (char **) &pArg, 10); else return 0;
+ if (*pArg != '\0') return 0;
+ if (nWidth <= 0 || nHeight <= 0) return 0;
+ *width = nWidth;
+ *height = nHeight;
+ return 1;
+}
+
+static int ReadNumberArg(const char * pArg, int * value)
+{
+ int val=0;
+
+ if (IsNumStr(pArg)) val = strtol(pArg, (char **) &pArg, 10); else return 0;
+ *value = val;
+ return 1;
+}
+ + +static int +LookupCommand( const char *name ) +{ + int i; + + for (i=0; i<D_ARRAY_SIZE(rcButtonMatrix); i++) { + if (!rcButtonMatrix[i]) + continue; + + if (!strncasecmp( name, rcButtonMatrix[i], strlen(name) )) + return rcButtonMapping[i]; + } + + return 0; +} +
+
+static void
+CleanLine( char *line )
+{
+ while ( (*line != '\r') && (*line != '\n') && (*line != ';'))
+ {
+ line++;
+ }
+ *line = 0;
+}
+
+
+static void
+ExecuteCommand(int command)
+{
+ switch(command)
+ {
+ case HK_HOMESCREEN_START:
+ jslibrc_RequestActivityEx( amLib_ACT_HomeScreen, amLib_ACT_Start, 0 );
+ break;
+ case HK_HOMESCREEN_STOP:
+ jslibrc_RequestActivityEx( amLib_ACT_HomeScreen, amLib_ACT_Stop, 0 );
+ break;
+ case HK_WATCHTV_START:
+ jslibrc_RequestActivityEx( amLib_ACT_WatchTV, amLib_ACT_Start, 0 );
+ break;
+ case HK_WATCHTV_STOP:
+ jslibrc_RequestActivityEx( amLib_ACT_WatchTV, amLib_ACT_Stop, 0 );
+ break;
+ case HK_CB_USB_START:
+ jslibrc_RequestActivityEx( amLib_ACT_BrowseUSB, amLib_ACT_Start, 0 );
+ break;
+ case HK_CB_USB_STOP:
+ jslibrc_RequestActivityEx( amLib_ACT_BrowseUSB, amLib_ACT_Stop, 0 );
+ break;
+ case HK_CB_DLNA_START:
+ jslibrc_RequestActivityEx( amLib_ACT_BrowseDLNA, amLib_ACT_Start, 0 );
+ break;
+ case HK_CB_DLNA_STOP:
+ jslibrc_RequestActivityEx( amLib_ACT_BrowseDLNA, amLib_ACT_Stop, 0 );
+ break;
+ case HK_NETTV_START:
+ jslibrc_RequestActivityEx( amLib_ACT_NetTV, amLib_ACT_Start, 0 );
+ break;
+ case HK_NETTV_STOP:
+ jslibrc_RequestActivityEx( amLib_ACT_NetTV, amLib_ACT_Stop, 0 );
+ break;
+ case HK_DFU_START:
+ jslibrc_RequestActivityEx( amLib_ACT_Dfu, amLib_ACT_Start, 0 );
+ break;
+ case HK_DFU_STOP:
+ jslibrc_RequestActivityEx( amLib_ACT_Dfu, amLib_ACT_Stop, 0 );
+ break;
+ case HK_TELETEXT_START:
+ jslibrc_RequestActivityEx( amLib_ACT_Teletext, amLib_ACT_Start, 0 );
+ break;
+ case HK_TELETEXT_STOP:
+ jslibrc_RequestActivityEx( amLib_ACT_Teletext, amLib_ACT_Stop, 0 );
+ break;
+ case HK_REMOTEAPP_START:
+ jslibrc_RequestActivityEx( amLib_ACT_RemoteApp, amLib_ACT_Start, 0 );
+ break;
+ case HK_REMOTEAPP_STOP:
+ jslibrc_RequestActivityEx( amLib_ACT_RemoteApp, amLib_ACT_Stop, 0 );
+ break;
+ default:
+ jslibrc_KeyDownEx( keySourceRc6, 0, command );
+ jslibrc_KeyUpEx( keySourceRc6, 0, command );
+ break;
+ }
+}
+
+ +/***************************************
+* Main procedure
+***************************************/
+int +main (int argc, char *argv[]) +{ + int i,k; + int bParseOK = 1;
+ char filename[FILENAME_LENGTH]={'\0'};
+ char line[LINE_LENGTH+1];
+ int timeout;
+ FILE *f;
+
+ jslibrc_Init( &argc, &argv );
+
+ // Print ussage
+ printf("\n\n");
+ printf("Usage: remco [--keycommandfile <file>] keycommand keycommand ...\n\n");
+ printf("Supported key commands:\n");
+ k=0;
+ for (i=0; i<D_ARRAY_SIZE(rcButtonMatrix); i++) {
+ if (!rcButtonMatrix[i])
+ continue;
+ printf("'%s' ", rcButtonMatrix[i]);
+ k++;
+ if ( !(k%4) ) printf("\n");
+ }
+ printf("\n\n");
+
+
+ // Parse arguments
+ for (i = 1; i < argc && bParseOK; i++)
+ {
+ const char * pArg = argv[i];
+ if ('-' == *pArg++ && '-' == *pArg++)
+ {
+ if ((0 == strcmp(pArg, "keycommandfile")) && (i + 1 < argc))
+ {
+ strncpy (filename, argv[i+1], sizeof(filename) );
+ printf("Reading commands from %s\n\n", filename);
+ }
+ else
+ {
+ bParseOK = 0;
+ }
+ }
+ }
+ if (!bParseOK) exit;
+
+ + if (filename[0])
+ {
+ // Use file as input
+ if (f = fopen(filename,"r"))
+ {
+ while (fgets(line, LINE_LENGTH, f))
+ {
+ if ( (line[0] != 0) && (line[0] != ';') && (line[0] != '#') )
+ {
+ CleanLine(line);
+ printf("%s\n", line);
+ if (!strncmp(line, "sleep", 5))
+ {
+ sscanf(&line[5], "%d", &timeout);
+ sleep(timeout);
+ }
+ else
+ {
+ int command = LookupCommand(line);
+ if (command == -1)
+ {
+ printf( "Unknown key command '%s'\n", line );
+ continue;
+ }
+ ExecuteCommand(command);
+ }
+ }
+ }
+ fclose(f);
+ }
+ else
+ {
+ printf( "File not found!\n");
+ }
+ }
+ else
+ {
+ // Use ARGVs
+ for (i=1; i<argc; i++)
+ {
+ int command = LookupCommand( argv[i] );
+ if (command == -1)
+ {
+ printf( "Unknown key command '%s'!\n", argv[i] );
+ continue;
+ }
+ ExecuteCommand(command);
+ }
+ }
+
+ jslibrc_Exit(); + + return 0; +} + diff --git a/LICENSE.TXT b/LICENSE.TXT new file mode 100755 index 0000000..928b25b --- /dev/null +++ b/LICENSE.TXT @@ -0,0 +1,511 @@ +Individual files may be released under different licenses, check the headers of the file to know which license is applying.
+
+For some files, the LGPL license applies, full license text of which can be found below.
+
+_____________________________________________________
+
+
+ GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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 + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/README.TXT b/README.TXT new file mode 100755 index 0000000..dd50d2e --- /dev/null +++ b/README.TXT @@ -0,0 +1,95 @@ +This package includes the jointSPACE remote application SDK in source format.
+It allows you to port the SDK to new architectures or simply recompile it for the supported ones.
+
+Architecture currently supported are:
+- linux (X86 or other platforms)
+- cygwin (X86)
+- macos (Apple Mac)
+- dslinux (NDS)
+- Apple iOS (iPhone, iPod, iPad...)
+- Android
+
+The SDK includes all what you need to create native TV Remote Applications on remote devices:
+header and librarie files.
+
+
+Building
+--------
+Compile the SDK libraries (libdirectfb.o...):
+ make -f makefile.voodoo.<architecture>
+
+For Android and iPhone, don't do the above but use the dedicated build script instead:
+e.g. for Android :
+1) set the variable NDK_PATH inside "build_for_android.sh" to the absolute location where your android NDK is installed.
+ You need to install "android-ndk-r4-windows-crystax-4" to compile (from SDK V1.3.1 onward)
+2) Insure that the line containing -DVOODOO_PLAY_FAKE=1 is uncommented.
+ Some phones are unable to receive UDP message which makes the jointSPACE
+ discovery mechanism not working at all. This patch allows at least to detect
+ directfb capable device (e.g. jointSPACE TV) but won't allow to identify
+ the device as such (friendly name). We hope that can be fixed soon.
+ Some Android devices don't have that issue and don't need that change (best is to try with and without)
+3)./build_for_android.sh
+
+
+
+Create the "DirectFB_Voodoo" package containing the SDK libraries and header files.
+ make -f makefile.voodoo.<architecture> package
+
+
+
+
+Typical issues:
+- $CC or $LD not reachable: adapt your $PATH
+- pthread development files not installed
+- incompatible shell: build-package.sh rely on bash being installed as /bin/sh.
+- wrong permissions: chmod a+rwx build-package.sh.
+- problems to generate DirectFB_Voodoo.tar.gz: this step might fail if your system does not support tar ball generation.
+
+
+Installing
+----------
+Copy "DirectFB_Voodoo" (generated directory) where your remote application samples will be developped (typically you will
+create a subdirectory next to "DirectFB_Voodoo" for each sample you will create)
+
+For Android, refer to this directory from the SDK jni makefile (Android.mk)
+
+
+History:
+-------
+V1.3.1_beta5: 2012-12-21
+Changes:
+ - Added support for few RC keys in jslibrc for 2k13 products
+
+V1.3.1_beta4: 2012-11-6
+Changes:
+ - Fixed voodoo player problem: "Once the app goes into background, tv disconnects".
+
+ V1.3.1_beta3: 2012-05-20
+Changes:
+ - fixed jslibrc HID events and 2k12 products
+ - Minor android fixes
+
+V1.3.1_beta2: 2011-10-31
+Changes:
+ - Extended jslibrc with HID events support and 2k11 RC API (xxxEx)
+ - Minor fixes
+ - note: requires min gcc 4.3 (macos, cygwin...)
+
+V1.3.1_beta1: 2011-08-31
+Changes:
+ - jslibrc extended to 2k11 functionalities
+ - Adapted RC6 tables for 2k11H2 sets
+
+V1.3.1: 2011-06-20
+Creation: (New baseline for 2k11R3 supporting compression and new features)
+ - Compressed and raw connection support (redesigned)
+ - fix HW cursor and few other problems
+
+
+
+
+
+
+
+
+
diff --git a/Source/++DFB/++dfb-config b/Source/++DFB/++dfb-config new file mode 100755 index 0000000..99035d4 --- /dev/null +++ b/Source/++DFB/++dfb-config @@ -0,0 +1,95 @@ +#!/bin/sh + +prefix=/usr/local +exec_prefix=${prefix} +exec_prefix_set=no + +usage() +{ + cat <<EOF +Usage: ++dfb-config [OPTIONS] [LIBRARIES] +Options: + [--prefix[=DIR]] + [--exec-prefix[=DIR]] + [--version] + [--libs] + [--cflags] +Libraries: + ++dfb +EOF + exit $1 +} + +if test $# -eq 0; then + usage 1 1>&2 +fi + +lib_dfbpp=yes + +while test $# -gt 0; do + case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + case $1 in + --prefix=*) + prefix=$optarg + if test $exec_prefix_set = no ; then + exec_prefix=$optarg + fi + ;; + --prefix) + echo_prefix=yes + ;; + --exec-prefix=*) + exec_prefix=$optarg + exec_prefix_set=yes + ;; + --exec-prefix) + echo_exec_prefix=yes + ;; + --version) + echo 1.4.2 + ;; + --cflags) + echo_cflags=yes + ;; + --libs) + echo_libs=yes + ;; + ++dfb) + lib_dfbpp=yes + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done + +if test "$echo_prefix" = "yes"; then + echo $prefix +fi + +if test "$echo_exec_prefix" = "yes"; then + echo $exec_prefix +fi + +if test "$echo_cflags" = "yes"; then + if test ${prefix}/include != /usr/include ; then + includes="-I${prefix}/include/++dfb -D_GNU_SOURCE -finstrument-functions -D_REENTRANT -I/usr/local/include/directfb-internal -I/usr/local/include/directfb " + fi + echo $includes +fi + +if test "$echo_libs" = "yes"; then + libs=-L${exec_prefix}/lib + + if test "$lib_dfbpp" = "yes"; then + libs="$libs -l++dfb -L/usr/local/lib -ldirectfb -lfusion -ldirect -lpthread " + fi + + echo $libs +fi + diff --git a/Source/++DFB/++dfb-config.in b/Source/++DFB/++dfb-config.in new file mode 100755 index 0000000..61e9723 --- /dev/null +++ b/Source/++DFB/++dfb-config.in @@ -0,0 +1,95 @@ +#!/bin/sh + +prefix=@prefix@ +exec_prefix=@exec_prefix@ +exec_prefix_set=no + +usage() +{ + cat <<EOF +Usage: ++dfb-config [OPTIONS] [LIBRARIES] +Options: + [--prefix[=DIR]] + [--exec-prefix[=DIR]] + [--version] + [--libs] + [--cflags] +Libraries: + ++dfb +EOF + exit $1 +} + +if test $# -eq 0; then + usage 1 1>&2 +fi + +lib_dfbpp=yes + +while test $# -gt 0; do + case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + case $1 in + --prefix=*) + prefix=$optarg + if test $exec_prefix_set = no ; then + exec_prefix=$optarg + fi + ;; + --prefix) + echo_prefix=yes + ;; + --exec-prefix=*) + exec_prefix=$optarg + exec_prefix_set=yes + ;; + --exec-prefix) + echo_exec_prefix=yes + ;; + --version) + echo @DIRECTFB_MAJOR_VERSION@.@DIRECTFB_MINOR_VERSION@.@DIRECTFB_MICRO_VERSION@ + ;; + --cflags) + echo_cflags=yes + ;; + --libs) + echo_libs=yes + ;; + ++dfb) + lib_dfbpp=yes + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done + +if test "$echo_prefix" = "yes"; then + echo $prefix +fi + +if test "$echo_exec_prefix" = "yes"; then + echo $exec_prefix +fi + +if test "$echo_cflags" = "yes"; then + if test @includedir@ != /usr/include ; then + includes="-I@includedir@/++dfb @DIRECTFB_CFLAGS@" + fi + echo $includes +fi + +if test "$echo_libs" = "yes"; then + libs=-L@libdir@ + + if test "$lib_dfbpp" = "yes"; then + libs="$libs -l++dfb @DIRECTFB_LIBS@" + fi + + echo $libs +fi + diff --git a/Source/++DFB/++dfb.pc b/Source/++DFB/++dfb.pc new file mode 100755 index 0000000..d02c381 --- /dev/null +++ b/Source/++DFB/++dfb.pc @@ -0,0 +1,11 @@ +prefix=/usr/local +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: ++DFB +Description: C++ binding for DirectFB, a graphics and windowing library on Linux framebuffer +Requires: directfb +Version: 1.4.2 +Libs: -L${libdir} -l++dfb +Cflags: -I${includedir}/++dfb diff --git a/Source/++DFB/++dfb.pc.in b/Source/++DFB/++dfb.pc.in new file mode 100755 index 0000000..74d4eb5 --- /dev/null +++ b/Source/++DFB/++dfb.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: ++DFB +Description: C++ binding for DirectFB, a graphics and windowing library on Linux framebuffer +Requires: directfb +Version: @DIRECTFB_VERSION@ +Libs: -L${libdir} -l++dfb +Cflags: -I${includedir}/++dfb diff --git a/Source/++DFB/++dfb.spec b/Source/++DFB/++dfb.spec new file mode 100755 index 0000000..4ffd78b --- /dev/null +++ b/Source/++DFB/++dfb.spec @@ -0,0 +1,71 @@ +%define name ++dfb +%define version 1.4.2 +%define oname ++DFB +%define libname lib%name +%define _unpackaged_files_terminate_build 0 + +Summary: Hardware graphics acceleration library +Name: %name +Version: %version +Release: 1 +License: LGPL +Group: System/Libraries +Source0: %{oname}-%{version}.tar.gz +URL: http://www.directfb.org/ +BuildRequires: libdirectfb-devel >= 1.4.2 +BuildRoot: %{_tmppath}/%{name}-%{version} + +%description +%oname - C++ API for DirectFB + +%package -n %libname +Summary: Shared library part of %oname +Group: System/Libraries +Requires: libdirectfb >= 1.4.2 + +%description -n %libname +%oname - C++ API for DirectFB + +%package -n %libname-devel +Group: Development/C++ +Summary: Header files for compiling %oname applications +Requires: %{libname} = %{version}-%release +Provides: lib%name-devel = %version-%release + +%description -n %libname-devel +%oname header files needed for building applications based on %oname. + +%prep +%setup -q -n %oname-%version + +%build +%configure + +make + +%install +rm -rf $RPM_BUILD_ROOT +make DESTDIR=%{buildroot} install + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -n %libname -p /sbin/ldconfig +%postun -n %libname -p /sbin/ldconfig + +%files -n %libname +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/lib*.so.* +%{_libdir}/lib++dfb-* + +%files -n %libname-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/*++dfb-config +%{_includedir}/++dfb +%{_libdir}/pkgconfig/* +%{_libdir}/*.la +%{_libdir}/*.so + +%changelog +* Mon Jan 08 2007 Mark Adams <mark147m@gmail.com> 0.9.26 +- initial package diff --git a/Source/++DFB/++dfb.spec.in b/Source/++DFB/++dfb.spec.in new file mode 100755 index 0000000..6d8db0d --- /dev/null +++ b/Source/++DFB/++dfb.spec.in @@ -0,0 +1,71 @@ +%define name ++dfb +%define version @VERSION@ +%define oname ++DFB +%define libname lib%name +%define _unpackaged_files_terminate_build 0 + +Summary: Hardware graphics acceleration library +Name: %name +Version: %version +Release: 1 +License: LGPL +Group: System/Libraries +Source0: %{oname}-%{version}.tar.gz +URL: http://www.directfb.org/ +BuildRequires: libdirectfb-devel >= @VERSION@ +BuildRoot: %{_tmppath}/%{name}-%{version} + +%description +%oname - C++ API for DirectFB + +%package -n %libname +Summary: Shared library part of %oname +Group: System/Libraries +Requires: libdirectfb >= @VERSION@ + +%description -n %libname +%oname - C++ API for DirectFB + +%package -n %libname-devel +Group: Development/C++ +Summary: Header files for compiling %oname applications +Requires: %{libname} = %{version}-%release +Provides: lib%name-devel = %version-%release + +%description -n %libname-devel +%oname header files needed for building applications based on %oname. + +%prep +%setup -q -n %oname-%version + +%build +%configure + +make + +%install +rm -rf $RPM_BUILD_ROOT +make DESTDIR=%{buildroot} install + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -n %libname -p /sbin/ldconfig +%postun -n %libname -p /sbin/ldconfig + +%files -n %libname +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/lib*.so.* +%{_libdir}/lib++dfb-* + +%files -n %libname-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/*++dfb-config +%{_includedir}/++dfb +%{_libdir}/pkgconfig/* +%{_libdir}/*.la +%{_libdir}/*.so + +%changelog +* Mon Jan 08 2007 Mark Adams <mark147m@gmail.com> 0.9.26 +- initial package 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, ×tamp) ); + + 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, ×tamp) ); + + 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, ®ion) ); +} + +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 ®) +{ + 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); +} + diff --git a/Source/++DFB/.DESTDIR b/Source/++DFB/.DESTDIR new file mode 100755 index 0000000..56a60b2 --- /dev/null +++ b/Source/++DFB/.DESTDIR @@ -0,0 +1 @@ +/opt/sh7723 diff --git a/Source/++DFB/AUTHORS b/Source/++DFB/AUTHORS new file mode 100755 index 0000000..0f33b1b --- /dev/null +++ b/Source/++DFB/AUTHORS @@ -0,0 +1 @@ +Denis Oliver Kropp <dok@directfb.org> diff --git a/Source/++DFB/COPYING b/Source/++DFB/COPYING new file mode 100755 index 0000000..e69de29 --- /dev/null +++ b/Source/++DFB/COPYING diff --git a/Source/++DFB/ChangeLog b/Source/++DFB/ChangeLog new file mode 100755 index 0000000..3959e69 --- /dev/null +++ b/Source/++DFB/ChangeLog @@ -0,0 +1,527 @@ +2007-02-13 dok 20:05:42 Denis Oliver Kropp <dok@directfb.org> + + Files: examples/.cvsignore (1.2) (+1 -0;) + examples/dfbplay.cpp (1.1) (27J3qZVNZqCPTm6s; ) + examples/Makefile.am (1.4) (+1 -2;) + + oops, here it is + +2007-02-13 mws 19:52:07 + + Files: examples/Makefile.am (1.3) (+2 -1;) + + removed dfbplay from examples Makefile.am for now + reason: source is not present + this fixed compiling again + +2007-02-02 dok 22:02:20 Denis Oliver Kropp <dok@directfb.org> + + Files: ChangeLog (1.4) (+37 -0;) + examples/tests/data/Makefile.am (1.1) (4I4Dlvf8yE7NTX4s; ) + examples/tests/data/.cvsignore (1.1) (4I4Dlvf8yE7NTX4s; ) + examples/tests/Makefile.am (1.2) (+2 -2;) + configure.in (1.9) (+2 -1;) + + distfix + +2007-02-02 dok 20:46:45 Denis Oliver Kropp <dok@directfb.org> + + Files: ++dfb/idirectfbsurface.cpp (1.10) (+9 -0;) + include/idirectfbsurface.h (1.12) (+2 -0;) + + IDirectFBSurface::GetFramebufferOffset() + +2007-02-02 dok 20:43:08 Denis Oliver Kropp <dok@directfb.org> + + Files: ChangeLog (1.3) (+168 -54;) + include/idirectfbwindow.h (1.4) (+9 -2;) + include/idirectfbsurface.h (1.11) (+4 -0;) + include/idirectfbdisplaylayer.h (1.6) (+1 -0;) + examples/tests/data/test32x32x16.dfiff (1.1) (HVcZKVYh368ysX4s; ) + examples/tests/data/test32x32.tif (1.1) (HVcZKVYh368ysX4s; ) + examples/tests/data/test32x32.ppm (1.1) (HVcZKVYh368ysX4s; ) + examples/tests/data/test32x32.png (1.1) (HVcZKVYh368ysX4s; ) + examples/tests/data/test32x32.jpeg (1.1) (HVcZKVYh368ysX4s; ) + examples/tests/data/test32x32.gif (1.1) (HVcZKVYh368ysX4s; ) + examples/tests/data/test32x32.dfiff (1.1) (HVcZKVYh368ysX4s; ) + examples/tests/data/test32x32.bmp (1.1) (HVcZKVYh368ysX4s; ) + examples/tests/images.cpp (1.1) (HVcZKVYh368ysX4s; ) + examples/tests/Makefile.am (1.1) (HVcZKVYh368ysX4s; ) + examples/tests/.cvsignore (1.1) (HVcZKVYh368ysX4s; ) + examples/Makefile.am (1.2) (+7 -1;) + ++dfb/idirectfbwindow.cpp (1.3) (+16 -2;) + ++dfb/idirectfbsurface.cpp (1.9) (+12 -0;) + ++dfb/idirectfbdisplaylayer.cpp (1.6) (+5 -0;) + configure.in (1.8) (+4 -3;) + + Update for 1.0.0 and some test stuff I had lying around. + +2007-01-08 marka 16:01:10 + + Files: ++dfb.spec.in (1.1) (N5EIaVN9Qw7AHI1s; ) + configure.in (1.7) (+1 -0;) + .cvsignore (1.3) (+1 -0;) + + Added spec file for building RPM packages. + +2006-12-17 mws 22:48:07 + + Files: .cvsignore (1.2) (+10 -0;) + + updated cvsignore a bit + +2006-12-17 mws 22:29:31 + + Files: include/++dfb.h (1.6) (+4 -4;) + + fix wrong copy ctor argument; + thanks to Phil Endecott for pointing out. + +2006-10-01 mws 00:23:12 + + Files: ++dfb/idirectfbfont.cpp (1.4) (+10 -0;) + include/idirectfbfont.h (1.4) (+7 -0;) + + follow up integration of GetStringBreak in DirectFB + for testing purposes in ++dfb; + +2006-07-08 klan 14:16:06 + + Files: ++dfb/idirectfbdisplaylayer.cpp (1.5) (+12 -0;) + include/idirectfbvideoprovider.h (1.7) (+9 -1;) + include/idirectfbsurface.h (1.10) (+17 -7;) + include/idirectfbscreen.h (1.4) (+3 -0;) + include/idirectfbfont.h (1.3) (+7 -0;) + include/idirectfbdisplaylayer.h (1.5) (+5 -0;) + ++dfb/idirectfbvideoprovider.cpp (1.5) (+34 -2;) + ++dfb/idirectfbsurface.cpp (1.8) (+37 -11;) + ++dfb/idirectfbscreen.cpp (1.3) (+6 -0;) + ++dfb/idirectfbfont.cpp (1.3) (+18 -0;) + + Updated to current DirectFB API. + +2006-05-20 klan 13:25:32 + + Files: configure.in (1.6) (+1 -1;) + + 0.9.26 required. + +2006-05-20 klan 13:24:52 + + Files: ++dfb/idirectfbinputdevice.cpp (1.2) (+5 -0;) + include/idirectfbwindow.h (1.3) (+1 -0;) + include/idirectfbinputdevice.h (1.3) (+1 -0;) + ++dfb/idirectfbwindow.cpp (1.2) (+5 -0;) + + Added IDirectFBWindow::DetachEventBuffer() and IDirectFBInputDevice::DetachEventBuffer(). + +2006-05-07 dok 00:00:35 Denis Oliver Kropp <dok@directfb.org> + + Files: examples/dfbswitch.cpp (1.2) (+19 -1;) + + Pass "-l" to get a list of modes. + +2006-03-26 dok 18:56:52 Denis Oliver Kropp <dok@directfb.org> + + Files: autogen.sh (1.2) (+1 -1;) + + Fix autoconf version detection. + +2006-01-15 klan 19:18:02 + + Files: ++dfb/idirectfbvideoprovider.cpp (1.4) (+9 -0;) + include/idirectfbvideoprovider.h (1.6) (+2 -1;) + + Added IDirectFBVideoProvider::GetStatus(). + +2006-01-15 klan 12:25:59 + + Files: ++dfb/idirectfbeventbuffer.cpp (1.3) (+9 -0;) + include/idirectfbvideoprovider.h (1.5) (+1 -0;) + include/idirectfbsurface.h (1.9) (+2 -0;) + include/idirectfbeventbuffer.h (1.4) (+3 -0;) + ++dfb/idirectfbvideoprovider.cpp (1.3) (+5 -0;) + ++dfb/idirectfbsurface.cpp (1.7) (+4 -0;) + + Implemented IDirectFBSurface::GetClip(), IDirectFBEventBuffer::EnableStatistics(), + IDirectFBEventBuffer::GetStatistics(), IDirectFBVideoProvider::GetStreamDescription(). + +2005-11-04 klan 09:43:41 + + Files: configure.in (1.5) (+1 -1;) + + Version 0.9.25. + +2005-10-30 klan 18:34:44 + + Files: ++dfb/idirectfbvideoprovider.cpp (1.2) (+5 -0;) + include/idirectfbvideoprovider.h (1.4) (+2 -0;) + + IDirectFBVideoProvider::SendEvent(). + +2005-10-26 klan 16:30:06 + + Files: ChangeLog (1.2) (+360 -0;) + + Updated ChangeLog. + +2005-10-26 klan 16:29:03 + + Files: configure.in (1.4) (+1 -1;) + + Version 0.9.24. + +2005-10-26 klan 16:28:28 + + Files: ++dfb/idirectfbdatabuffer.cpp (1.2) (+14 -0;) + include/idirectfbvideoprovider.h (1.3) (+2 -0;) + include/idirectfbdatabuffer.h (1.3) (+2 -0;) + + Follow recent API changes. + +2005-09-14 dok 14:28:43 Denis Oliver Kropp <dok@directfb.org> + + Files: include/idirectfbeventbuffer.h (1.3) (+1 -1;) + + Thanks again to Mark Adams <mark147m@gmail.com>! + + He changed WaitForEventWithTimeout() so that it doesn't throw an + exception when a timeout occurs, which is a normal circumstance. + + Instead it returns true if events are available or false after a timeout. + +2005-09-14 dok 14:28:42 Denis Oliver Kropp <dok@directfb.org> + + Files: ++dfb/idirectfbeventbuffer.cpp (1.2) (+9 -2;) + + Thanks again to Mark Adams <mark147m@gmail.com>! + + He changed WaitForEventWithTimeout() so that it doesn't throw an + exception when a timeout occurs, which is a normal circumstance. + + Instead it returns true if events are available or false after a timeout. + +2005-09-14 dok 14:05:27 Denis Oliver Kropp <dok@directfb.org> + + Files: ++dfb/idirectfbdisplaylayer.cpp (1.4) (+1 -1;) + + Fixed SetColorAdjustment(), thanks to Mark Adams <mark147m@gmail.com>! + +2005-06-06 mws 19:51:19 + + Files: include/++dfb.h (1.5) (+4 -4;) + include/idirectfbsurface.h (1.8) (+1 -1;) + + use c++ style casting; + +2005-06-01 mws 00:19:14 + + Files: include/idirectfb.h (1.4) (+8 -8;) + include/idirectfbsurface.h (1.7) (+2 -2;) + + fix wrong template param in copy constructor; + more const'ed member functions; + fix return type in template copy constructor; + + ++dfb.h | 9 +++++---- + idirectfb.cpp | 12 ++++++------ + idirectfb.h | 16 ++++++++-------- + idirectfbsurface.cpp | 6 +++--- + idirectfbsurface.h | 4 ++-- + 5 files changed, 24 insertions(+), 23 deletions(-) + +2005-06-01 mws 00:19:13 + + Files: ++dfb/idirectfb.cpp (1.3) (+6 -6;) + include/++dfb.h (1.4) (+5 -4;) + ++dfb/idirectfbsurface.cpp (1.6) (+3 -3;) + + fix wrong template param in copy constructor; + more const'ed member functions; + fix return type in template copy constructor; + + ++dfb.h | 9 +++++---- + idirectfb.cpp | 12 ++++++------ + idirectfb.h | 16 ++++++++-------- + idirectfbsurface.cpp | 6 +++--- + idirectfbsurface.h | 4 ++-- + 5 files changed, 24 insertions(+), 23 deletions(-) + +2005-05-30 mws 21:36:57 + + Files: ++dfb/idirectfbfont.cpp (1.2) (+8 -8;) + include/idirectfbwindow.h (1.2) (+9 -2;) + include/idirectfbvideoprovider.h (1.2) (+9 -3;) + include/idirectfbsurface.h (1.6) (+9 -3;) + include/idirectfbscreen.h (1.3) (+9 -2;) + include/idirectfbpalette.h (1.2) (+9 -2;) + include/idirectfbinputdevice.h (1.2) (+9 -3;) + include/idirectfbimageprovider.h (1.2) (+9 -3;) + include/idirectfbfont.h (1.2) (+17 -10;) + include/idirectfbeventbuffer.h (1.2) (+9 -2;) + include/idirectfbdisplaylayer.h (1.4) (+9 -2;) + include/idirectfbdatabuffer.h (1.2) (+9 -2;) + include/idirectfb.h (1.3) (+9 -3;) + include/++dfb.h (1.3) (+54 -101;) + + changed ++DFB class interface from + huge #define macro to a template class + adapted all clientclasses to be derived; + consted some of the idirectfbfont member functions; + + changed files: + ++dfb.h | 155 ++++++++++++++++------------------------------- + idirectfb.h | 12 ++- + idirectfbdatabuffer.h | 11 ++- + idirectfbdisplaylayer.h | 11 ++- + idirectfbeventbuffer.h | 11 ++- + idirectfbfont.cpp | 16 ++-- + idirectfbfont.h | 27 +++++--- + idirectfbimageprovider.h | 12 ++- + idirectfbinputdevice.h | 12 ++- + idirectfbpalette.h | 11 ++- + idirectfbscreen.h | 11 ++- + idirectfbsurface.h | 12 ++- + idirectfbvideoprovider.h | 12 ++- + idirectfbwindow.h | 11 ++- + 14 files changed, 178 insertions(+), 146 deletions(-) + +2005-04-06 dok 21:01:41 Denis Oliver Kropp <dok@directfb.org> + + Files: ++dfb/idirectfb.cpp (1.2) (+2 -2;) + include/idirectfb.h (1.2) (+1 -1;) + + GetCardCapabilities() -> GetDeviceDescription() + +2005-03-22 dok 12:46:10 Denis Oliver Kropp <dok@directfb.org> + + Files: ++dfb/idirectfbscreen.cpp (1.2) (+74 -0;) + include/idirectfbscreen.h (1.2) (+39 -0;) + + Added missing methods. + +2005-03-11 dok 13:26:08 Denis Oliver Kropp <dok@directfb.org> + + Files: ++dfb/idirectfbsurface.cpp (1.5) (+6 -1;) + include/idirectfbsurface.h (1.5) (+2 -1;) + + More SetColor() convenience. + +2005-02-28 dok 10:04:41 Denis Oliver Kropp <dok@directfb.org> + + Files: configure.in (1.3) (+1 -1;) + include/idirectfbsurface.h (1.4) (+4 -1;) + ++dfb/idirectfbsurface.cpp (1.4) (+5 -0;) + + Added IDirectFBSurface::DisableAcceleration(). + +2005-02-27 dok 12:14:03 Denis Oliver Kropp <dok@directfb.org> + + Files: ++dfb/idirectfbdisplaylayer.cpp (1.3) (+8 -0;) + include/idirectfbsurface.h (1.3) (+3 -1;) + include/idirectfbdisplaylayer.h (1.3) (+4 -0;) + ++dfb/idirectfbsurface.cpp (1.3) (+6 -1;) + + Added IDirectFBDisplayLayer::SetScreenRectangle(). + + Added IDirectFBSurface::FillRectangles(). + +2005-02-10 dok 15:38:41 Denis Oliver Kropp <dok@directfb.org> + + Files: ++dfb/idirectfbsurface.cpp (1.2) (+5 -0;) + include/idirectfbsurface.h (1.2) (+5 -1;) + + Added IDirectFBSurface::SetAlphaRamp(). + + Changed default alpha of Clear() from 0xff to 0x00. + +2005-01-19 dok 23:09:50 Denis Oliver Kropp <dok@directfb.org> + + Files: include/++dfb.h (1.2) (+9 -0;) + + Fix reference counting by implementing the + constructor "Interface( const Interface &other )". + +2005-01-19 dok 21:30:40 Denis Oliver Kropp <dok@directfb.org> + + Files: ++dfb/idirectfbdisplaylayer.cpp (1.2) (+6 -0;) + include/idirectfbdisplaylayer.h (1.2) (+2 -0;) + + Added IDirectFBDisplayLayer::SetScreenPosition(). + +2005-01-19 dok 21:20:37 Denis Oliver Kropp <dok@directfb.org> + + Files: configure.in (1.2) (+1 -1;) + + 0.9.22 + +2004-08-17 dok 20:07:54 Denis Oliver Kropp <dok@directfb.org> + + Files: ++dfb/++dfb.cpp (1.2) (+0 -0;) + ++dfb/ppdfb.cpp (1.1) ( ) + ++dfb/Makefile.am (1.3) (+1 -1;) + + libfool! + +2004-08-17 dok 19:54:49 Denis Oliver Kropp <dok@directfb.org> + + Files: ++dfb/++dfb.cpp (1.1) ( ) + ++dfb/dfb++_internal.h (1.2) (+0 -0;) + ++dfb/dfb++.cpp (1.2) (+0 -0;) + ++dfb/Makefile.am (1.2) (+3 -3;) + ++dfb/++dfb_internal.h (1.1) ( ) + + Forgot some renaming. + +2004-08-17 dok 19:50:07 Denis Oliver Kropp <dok@directfb.org> + + Files: ++dfb-config.in (1.1) ( ) + include/idirectfbwindow.h (1.1) ( ) + include/idirectfbvideoprovider.h (1.1) ( ) + include/idirectfbsurface.h (1.1) ( ) + include/idirectfbscreen.h (1.1) ( ) + include/idirectfbpalette.h (1.1) ( ) + include/idirectfbinputdevice.h (1.1) ( ) + include/idirectfbimageprovider.h (1.1) ( ) + include/idirectfbfont.h (1.1) ( ) + include/idirectfbeventbuffer.h (1.1) ( ) + include/idirectfbdisplaylayer.h (1.1) ( ) + include/idirectfbdatabuffer.h (1.1) ( ) + include/idirectfb.h (1.1) ( ) + include/Makefile.am (1.1) ( ) + include/.cvsignore (1.1) ( ) + include/++dfb.h (1.1) ( ) + examples/simple.cpp (1.1) ( ) + examples/dfbswitch.cpp (1.1) ( ) + examples/dfbshow.cpp (1.1) ( ) + examples/dfbimage.h (1.1) ( ) + examples/dfbimage.cpp (1.1) ( ) + examples/dfbapp.h (1.1) ( ) + examples/dfbapp.cpp (1.1) ( ) + examples/Makefile.am (1.1) ( ) + examples/.cvsignore (1.1) ( ) + ++dfb/idirectfbwindow.cpp (1.1) ( ) + ++dfb/idirectfbvideoprovider.cpp (1.1) ( ) + ++dfb/idirectfbsurface.cpp (1.1) ( ) + ++dfb/idirectfbscreen.cpp (1.1) ( ) + ++dfb/idirectfbpalette.cpp (1.1) ( ) + ++dfb/idirectfbinputdevice.cpp (1.1) ( ) + ++dfb/idirectfbimageprovider.cpp (1.1) ( ) + ++dfb/idirectfbfont.cpp (1.1) ( ) + ++dfb/idirectfbeventbuffer.cpp (1.1) ( ) + ++dfb/idirectfbdisplaylayer.cpp (1.1) ( ) + ++dfb/idirectfbdatabuffer.cpp (1.1) ( ) + ++dfb/idirectfb.cpp (1.1) ( ) + ++dfb/dfb++_internal.h (1.1) ( ) + ++dfb/dfb++.cpp (1.1) ( ) + ++dfb/Makefile.am (1.1) ( ) + ++dfb/.cvsignore (1.1) ( ) + configure.in (1.1) ( ) + autogen.sh (1.1) ( ) + README (1.1) ( ) + NEWS (1.1) ( ) + Makefile.am (1.1) ( ) + ChangeLog (1.1) ( ) + AUTHORS (1.1) ( ) + .cvsignore (1.1) ( ) + ++dfb.pc.in (1.1) ( ) + + ++DFB is an advanced version of DFB++ + + It's an incompatible fork with fundamental changes. + + Applications no longer deal with interface pointers. The classes + wrapping around interfaces are used a container for an interface + pointer, providing garbage collection the "direct" way 8-) + + By overwriting certain operators, e.g. '=', the need to care + about AddRef() and Release() has been eliminated. These methods + aren't even available anymore. + + All interfaces are released automatically now, either caused by + finalization of an object having interface members, or by leaving + a stack frame with an interface hold in a local variable. + + This also eliminates duplication of code caused by the lack of + a C++ equivalent to Java's "finally" block. + + The following code is using DFB++: + + void DFBImage::Load( std::string filename ) + { + IDirectFB *dfb = NULL; + IDirectFBImageProvider *provider = NULL; + IDirectFBSurface *surface = NULL; + + try { + DFBSurfaceDescription desc; + + dfb = DirectFB::Create(); + + provider = dfb->CreateImageProvider( filename.data() ); + + provider->GetSurfaceDescription( &desc ); + + surface = dfb->CreateSurface( desc ); + + provider->RenderTo( surface, NULL ); + } + /* Work around missing "finally". */ + catch (...) { + if (surface) + surface->Release(); + + if (provider) + provider->Release(); + + if (dfb) + dfb->Release(); + + throw; + } + + m_surface = surface; /* Keep pointer to interface object. */ + + provider->Release(); + dfb->Release(); + } + + This is how it's looking using ++DFB: + + void DFBImage::Load( std::string filename ) + { + IDirectFB dfb; + IDirectFBImageProvider provider; + IDirectFBSurface surface; + DFBSurfaceDescription desc; + + dfb = DirectFB::Create(); + + provider = dfb.CreateImageProvider( filename.data() ); + + provider.GetSurfaceDescription( &desc ); + + surface = dfb.CreateSurface( desc ); + + provider.RenderTo( surface, NULL ); + + m_surface = surface; + } + + The last line instructs the container object 'm_surface' (member) + to take the interface pointer from 'surface' after calling AddRef(). + + Leaving the stack frame due to an exception or a return causes + finalization of the local container objects 'dfb', 'provider' + and 'surface' calling Release() if they've already been assigned + an interface pointer. + + The suggested way of passing interfaces via parameters + is to use C++ references as in this declaration: + + void PrepareTarget( IDirectFBSurface &target ); + + Explicitly releasing an interface is as simple as this: + + m_surface = NULL; + diff --git a/Source/++DFB/INSTALL b/Source/++DFB/INSTALL new file mode 100755 index 0000000..d3c5b40 --- /dev/null +++ b/Source/++DFB/INSTALL @@ -0,0 +1,237 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006, 2007 Free Software Foundation, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + +Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 6. Often, you can also type `make uninstall' to remove the installed + files again. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/Source/++DFB/LockRectangle.diff b/Source/++DFB/LockRectangle.diff new file mode 100755 index 0000000..ff8408e --- /dev/null +++ b/Source/++DFB/LockRectangle.diff @@ -0,0 +1,32 @@ +diff --git a/++dfb/idirectfbsurface.cpp b/++dfb/idirectfbsurface.cpp +index bc29fd5..d53ac78 100644 +--- a/++dfb/idirectfbsurface.cpp ++++ b/++dfb/idirectfbsurface.cpp +@@ -438,3 +438,11 @@ void IDirectFBSurface::Write( const void *ptr, + DFBCHECK( iface->Write (iface, rect, ptr, pitch) ); + } + ++void IDirectFBSurface::LockRectangle (DFBSurfaceLockFlags flags, ++ const DFBRectangle *rect, ++ void **ptr, ++ int *pitch) ++{ ++ DFBCHECK( iface->LockRectangle (iface, flags, rect, ptr, pitch) ); ++} ++ +diff --git a/include/idirectfbsurface.h b/include/idirectfbsurface.h +index f68ae78..a490ff2 100644 +--- a/include/idirectfbsurface.h ++++ b/include/idirectfbsurface.h +@@ -195,6 +195,11 @@ public: + int pitch, + const DFBRectangle *rect = NULL); + ++ void LockRectangle (DFBSurfaceLockFlags flags, ++ const DFBRectangle *rect, ++ void **ptr, ++ int *pitch); ++ + inline IDirectFBSurface& operator = (const IDirectFBSurface& other){ + return IPPAny<IDirectFBSurface, IDirectFBSurface_C>::operator =(other); + } diff --git a/Source/++DFB/Makefile b/Source/++DFB/Makefile new file mode 100755 index 0000000..f47f8b0 --- /dev/null +++ b/Source/++DFB/Makefile @@ -0,0 +1,711 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# 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 = . +DIST_COMMON = README $(am__configure_deps) $(srcdir)/++dfb-config.in \ + $(srcdir)/++dfb.pc.in $(srcdir)/++dfb.spec.in \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \ + ChangeLog INSTALL NEWS config.guess config.sub depcomp \ + install-sh ltmain.sh missing +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) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = ++dfb-config ++dfb.pc ++dfb.spec +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)" +binSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(bin_SCRIPTS) +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +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|^.*/||'`; +pkgconfigDATA_INSTALL = $(INSTALL_DATA) +DATA = $(pkgconfig_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +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 +abs_srcdir = /home/dok/cvs/directfb/++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 = . +SUBDIRS = ++dfb include examples +bin_SCRIPTS = ++dfb-config +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = ++dfb.pc +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: # $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): # $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: # $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +++dfb-config: $(top_builddir)/config.status $(srcdir)/++dfb-config.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +++dfb.pc: $(top_builddir)/config.status $(srcdir)/++dfb.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +++dfb.spec: $(top_builddir)/config.status $(srcdir)/++dfb.spec.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ + else :; fi; \ + done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +install-pkgconfigDATA: $(pkgconfig_DATA) + @$(NORMAL_INSTALL) + test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +uninstall-pkgconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + 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: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(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: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) config.h.in $(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) + $(am__remove_distdir) + test -d $(distdir) || mkdir $(distdir) + @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 + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am |