aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/ecore/src/lib/ecore_directfb
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-04 18:41:13 +1000
committerDavid Walter Seikel2012-01-04 18:41:13 +1000
commitdd7595a3475407a7fa96a97393bae8c5220e8762 (patch)
treee341e911d7eb911a51684a7412ef7f7c7605d28e /libraries/ecore/src/lib/ecore_directfb
parentAdd the skeleton. (diff)
downloadSledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.zip
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.gz
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.bz2
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.xz
Add the base Enlightenment Foundation Libraries - eina, eet, evas, ecore, embryo, and edje.
Note that embryo wont be used, but I'm not sure yet if you can build edje without it.
Diffstat (limited to 'libraries/ecore/src/lib/ecore_directfb')
-rw-r--r--libraries/ecore/src/lib/ecore_directfb/Ecore_DirectFB.h181
-rw-r--r--libraries/ecore/src/lib/ecore_directfb/Makefile.am31
-rw-r--r--libraries/ecore/src/lib/ecore_directfb/Makefile.in822
-rw-r--r--libraries/ecore/src/lib/ecore_directfb/ecore_directfb.c757
-rw-r--r--libraries/ecore/src/lib/ecore_directfb/ecore_directfb_keys.h184
-rw-r--r--libraries/ecore/src/lib/ecore_directfb/ecore_directfb_private.h52
6 files changed, 2027 insertions, 0 deletions
diff --git a/libraries/ecore/src/lib/ecore_directfb/Ecore_DirectFB.h b/libraries/ecore/src/lib/ecore_directfb/Ecore_DirectFB.h
new file mode 100644
index 0000000..1f6fc63
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_directfb/Ecore_DirectFB.h
@@ -0,0 +1,181 @@
1#ifndef _ECORE_DIRECTFB_H
2#define _ECORE_DIRECTFB_H
3
4#include <directfb.h>
5
6#include <Eina.h>
7
8#ifdef EAPI
9# undef EAPI
10#endif /* ifdef EAPI */
11
12#ifdef __GNUC__
13# if __GNUC__ >= 4
14# define EAPI __attribute__ ((visibility("default")))
15# else /* if __GNUC__ >= 4 */
16# define EAPI
17# endif /* if __GNUC__ >= 4 */
18#else /* ifdef __GNUC__ */
19# define EAPI
20#endif /* ifdef __GNUC__ */
21
22#ifdef __cplusplus
23extern "C" {
24#endif /* ifdef __cplusplus */
25
26EAPI extern int ECORE_DIRECTFB_EVENT_POSITION;
27EAPI extern int ECORE_DIRECTFB_EVENT_SIZE;
28EAPI extern int ECORE_DIRECTFB_EVENT_CLOSE;
29EAPI extern int ECORE_DIRECTFB_EVENT_DESTROYED;
30EAPI extern int ECORE_DIRECTFB_EVENT_GOT_FOCUS;
31EAPI extern int ECORE_DIRECTFB_EVENT_LOST_FOCUS;
32EAPI extern int ECORE_DIRECTFB_EVENT_KEY_DOWN;
33EAPI extern int ECORE_DIRECTFB_EVENT_KEY_UP;
34EAPI extern int ECORE_DIRECTFB_EVENT_BUTTON_DOWN;
35EAPI extern int ECORE_DIRECTFB_EVENT_BUTTON_UP;
36EAPI extern int ECORE_DIRECTFB_EVENT_MOTION;
37EAPI extern int ECORE_DIRECTFB_EVENT_ENTER;
38EAPI extern int ECORE_DIRECTFB_EVENT_LEAVE;
39EAPI extern int ECORE_DIRECTFB_EVENT_WHEEL;
40
41#ifndef _ECORE_DIRECTFB_WINDOW_PREDEF
42typedef struct _Ecore_DirectFB_Window Ecore_DirectFB_Window;
43#endif /* ifndef _ECORE_DIRECTFB_WINDOW_PREDEF */
44typedef struct _Ecore_DirectFB_Cursor Ecore_DirectFB_Cursor;
45
46typedef struct _Ecore_DirectFB_Event_Key_Down Ecore_DirectFB_Event_Key_Down;
47typedef struct _Ecore_DirectFB_Event_Key_Up Ecore_DirectFB_Event_Key_Up;
48typedef struct _Ecore_DirectFB_Event_Button_Down Ecore_DirectFB_Event_Button_Down;
49typedef struct _Ecore_DirectFB_Event_Button_Up Ecore_DirectFB_Event_Button_Up;
50typedef struct _Ecore_DirectFB_Event_Motion Ecore_DirectFB_Event_Motion;
51typedef struct _Ecore_DirectFB_Event_Enter Ecore_DirectFB_Event_Enter;
52typedef struct _Ecore_DirectFB_Event_Leave Ecore_DirectFB_Event_Leave;
53typedef struct _Ecore_DirectFB_Event_Wheel Ecore_DirectFB_Event_Wheel;
54typedef struct _Ecore_DirectFB_Event_Got_Focus Ecore_DirectFB_Event_Got_Focus;
55typedef struct _Ecore_DirectFB_Event_Lost_Focus Ecore_DirectFB_Event_Lost_Focus;
56
57/* this struct is to keep windows data (id, window itself and surface) in memory as every call
58 * to DirectFB for this values (e.g window->GetSurface(window,&surface)) will increment the
59 * reference count, then we will have to release N times the data, so better we just ask for
60 them once */
61struct _Ecore_DirectFB_Window
62{
63 DFBWindowID id;
64 IDirectFBWindow *window;
65 IDirectFBSurface *surface;
66 Ecore_DirectFB_Cursor *cursor;
67};
68
69struct _Ecore_DirectFB_Cursor
70{
71 IDirectFBSurface *surface;
72 int hot_x;
73 int hot_y;
74};
75
76struct _Ecore_DirectFB_Event_Key_Down /** DirectFB Key Down event */
77{
78 char *name; /**< The name of the key that was released */
79 char *string; /**< The logical symbol of the key that was pressed */
80 char *key_compose; /**< The UTF-8 string conversion if any */
81 unsigned int time;
82 DFBWindowID win;
83};
84
85struct _Ecore_DirectFB_Event_Key_Up /** DirectFB Key Up event */
86{
87 char *name; /**< The name of the key that was released */
88 char *string; /**< The logical symbol of the key that was pressed */
89 char *key_compose; /**< The UTF-8 string conversion if any */
90 unsigned int time;
91 DFBWindowID win;
92};
93
94struct _Ecore_DirectFB_Event_Button_Down
95{
96 int button;
97 int modifiers;
98 int x, y;
99 unsigned int time;
100 int double_click : 1;
101 int triple_click : 1;
102 DFBWindowID win;
103};
104struct _Ecore_DirectFB_Event_Button_Up
105{
106 int button;
107 int modifiers;
108 int x, y;
109 unsigned int time;
110 DFBWindowID win;
111 int double_click : 1;
112 int triple_click : 1;
113};
114struct _Ecore_DirectFB_Event_Motion
115{
116 int modifiers;
117 int x, y;
118 unsigned int time;
119 DFBWindowID win;
120};
121
122struct _Ecore_DirectFB_Event_Enter
123{
124 int modifiers;
125 int x, y;
126 unsigned int time;
127 DFBWindowID win;
128};
129
130struct _Ecore_DirectFB_Event_Leave
131{
132 int modifiers;
133 int x, y;
134 unsigned int time;
135 DFBWindowID win;
136};
137
138struct _Ecore_DirectFB_Event_Wheel
139{
140 int direction;
141 int z;
142 int modifiers;
143 unsigned int time;
144 DFBWindowID win;
145};
146
147struct _Ecore_DirectFB_Event_Got_Focus
148{
149 unsigned int time;
150 DFBWindowID win;
151};
152
153struct _Ecore_DirectFB_Event_Lost_Focus
154{
155 unsigned int time;
156 DFBWindowID win;
157};
158
159/* main functions */
160EAPI int ecore_directfb_init(const char *name);
161EAPI int ecore_directfb_shutdown(void);
162EAPI IDirectFB * ecore_directfb_interface_get(void);
163
164/* window operations */
165EAPI Ecore_DirectFB_Window *ecore_directfb_window_new(int x, int y, int w, int h);
166EAPI void ecore_directfb_window_free(Ecore_DirectFB_Window *window);
167EAPI void ecore_directfb_window_move(Ecore_DirectFB_Window *window, int x, int y);
168EAPI void ecore_directfb_window_resize(Ecore_DirectFB_Window *window, int w, int h);
169EAPI void ecore_directfb_window_focus(Ecore_DirectFB_Window *window);
170EAPI void ecore_directfb_window_show(Ecore_DirectFB_Window *window);
171EAPI void ecore_directfb_window_hide(Ecore_DirectFB_Window *window);
172EAPI void ecore_directfb_window_shaped_set(Ecore_DirectFB_Window *window, Eina_Bool set);
173EAPI void ecore_directfb_window_fullscreen_set(Ecore_DirectFB_Window *window, Eina_Bool set);
174EAPI void ecore_directfb_window_size_get(Ecore_DirectFB_Window *window, int *w, int *h);
175EAPI void ecore_directfb_window_cursor_show(Ecore_DirectFB_Window *window, Eina_Bool show);
176
177#ifdef __cplusplus
178}
179#endif /* ifdef __cplusplus */
180
181#endif /* ifndef _ECORE_DIRECTFB_H */
diff --git a/libraries/ecore/src/lib/ecore_directfb/Makefile.am b/libraries/ecore/src/lib/ecore_directfb/Makefile.am
new file mode 100644
index 0000000..8142d33
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_directfb/Makefile.am
@@ -0,0 +1,31 @@
1MAINTAINERCLEANFILES = Makefile.in
2
3AM_CPPFLAGS = \
4-I$(top_srcdir)/src/lib/ecore \
5-I$(top_builddir)/src/lib/ecore \
6@DIRECTFB_CFLAGS@ @EINA_CFLAGS@
7
8lib_LTLIBRARIES = libecore_directfb.la
9includes_HEADERS = Ecore_DirectFB.h
10includesdir = $(includedir)/ecore-@VMAJ@
11
12libecore_directfb_la_SOURCES = \
13ecore_directfb.c \
14ecore_directfb_keys.h \
15ecore_directfb_private.h
16
17libecore_directfb_la_LIBADD = \
18$(top_builddir)/src/lib/ecore/libecore.la \
19@DIRECTFB_LIBS@ \
20@EINA_LIBS@
21
22libecore_directfb_la_LDFLAGS = -version-info @version_info@ @release_info@
23
24libecore_directfb_la_DEPENDENCIES = \
25$(top_builddir)/src/lib/ecore/libecore.la
26
27EXTRA_DIST = \
28Ecore_DirectFB.h \
29ecore_directfb.c \
30ecore_directfb_keys.h \
31ecore_directfb_private.h
diff --git a/libraries/ecore/src/lib/ecore_directfb/Makefile.in b/libraries/ecore/src/lib/ecore_directfb/Makefile.in
new file mode 100644
index 0000000..51d113f
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_directfb/Makefile.in
@@ -0,0 +1,822 @@
1# Makefile.in generated by automake 1.11.1 from Makefile.am.
2# @configure_input@
3
4# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
6# Inc.
7# This Makefile.in is free software; the Free Software Foundation
8# gives unlimited permission to copy and/or distribute it,
9# with or without modifications, as long as this notice is preserved.
10
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
13# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
14# PARTICULAR PURPOSE.
15
16@SET_MAKE@
17
18
19VPATH = @srcdir@
20pkgdatadir = $(datadir)/@PACKAGE@
21pkgincludedir = $(includedir)/@PACKAGE@
22pkglibdir = $(libdir)/@PACKAGE@
23pkglibexecdir = $(libexecdir)/@PACKAGE@
24am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
25install_sh_DATA = $(install_sh) -c -m 644
26install_sh_PROGRAM = $(install_sh) -c
27install_sh_SCRIPT = $(install_sh) -c
28INSTALL_HEADER = $(INSTALL_DATA)
29transform = $(program_transform_name)
30NORMAL_INSTALL = :
31PRE_INSTALL = :
32POST_INSTALL = :
33NORMAL_UNINSTALL = :
34PRE_UNINSTALL = :
35POST_UNINSTALL = :
36build_triplet = @build@
37host_triplet = @host@
38subdir = src/lib/ecore_directfb
39DIST_COMMON = $(includes_HEADERS) $(srcdir)/Makefile.am \
40 $(srcdir)/Makefile.in
41ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
42am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
43 $(top_srcdir)/m4/ac_path_generic.m4 \
44 $(top_srcdir)/m4/check_x_extension.m4 \
45 $(top_srcdir)/m4/ecore_check_module.m4 \
46 $(top_srcdir)/m4/ecore_check_options.m4 \
47 $(top_srcdir)/m4/efl_compiler_flag.m4 \
48 $(top_srcdir)/m4/efl_doxygen.m4 \
49 $(top_srcdir)/m4/efl_examples.m4 \
50 $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \
51 $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \
52 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
53 $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \
54 $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
55 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
56 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
57 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
58 $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
59 $(top_srcdir)/configure.ac
60am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
61 $(ACLOCAL_M4)
62mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
63CONFIG_HEADER = $(top_builddir)/config.h
64CONFIG_CLEAN_FILES =
65CONFIG_CLEAN_VPATH_FILES =
66am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
67am__vpath_adj = case $$p in \
68 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
69 *) f=$$p;; \
70 esac;
71am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
72am__install_max = 40
73am__nobase_strip_setup = \
74 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
75am__nobase_strip = \
76 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
77am__nobase_list = $(am__nobase_strip_setup); \
78 for p in $$list; do echo "$$p $$p"; done | \
79 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
80 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
81 if (++n[$$2] == $(am__install_max)) \
82 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
83 END { for (dir in files) print dir, files[dir] }'
84am__base_list = \
85 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
86 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
87am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includesdir)"
88LTLIBRARIES = $(lib_LTLIBRARIES)
89am_libecore_directfb_la_OBJECTS = ecore_directfb.lo
90libecore_directfb_la_OBJECTS = $(am_libecore_directfb_la_OBJECTS)
91AM_V_lt = $(am__v_lt_$(V))
92am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
93am__v_lt_0 = --silent
94libecore_directfb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
95 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
96 $(AM_CFLAGS) $(CFLAGS) $(libecore_directfb_la_LDFLAGS) \
97 $(LDFLAGS) -o $@
98DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
99depcomp = $(SHELL) $(top_srcdir)/depcomp
100am__depfiles_maybe = depfiles
101am__mv = mv -f
102COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
103 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
104LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
105 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
106 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
107 $(AM_CFLAGS) $(CFLAGS)
108AM_V_CC = $(am__v_CC_$(V))
109am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
110am__v_CC_0 = @echo " CC " $@;
111AM_V_at = $(am__v_at_$(V))
112am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
113am__v_at_0 = @
114CCLD = $(CC)
115LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
116 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
117 $(AM_LDFLAGS) $(LDFLAGS) -o $@
118AM_V_CCLD = $(am__v_CCLD_$(V))
119am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
120am__v_CCLD_0 = @echo " CCLD " $@;
121AM_V_GEN = $(am__v_GEN_$(V))
122am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
123am__v_GEN_0 = @echo " GEN " $@;
124SOURCES = $(libecore_directfb_la_SOURCES)
125DIST_SOURCES = $(libecore_directfb_la_SOURCES)
126HEADERS = $(includes_HEADERS)
127ETAGS = etags
128CTAGS = ctags
129DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
130ACLOCAL = @ACLOCAL@
131ALLOCA = @ALLOCA@
132AMTAR = @AMTAR@
133AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
134AR = @AR@
135AS = @AS@
136AUTOCONF = @AUTOCONF@
137AUTOHEADER = @AUTOHEADER@
138AUTOMAKE = @AUTOMAKE@
139AWK = @AWK@
140CARES_CFLAGS = @CARES_CFLAGS@
141CARES_LIBS = @CARES_LIBS@
142CC = @CC@
143CCDEPMODE = @CCDEPMODE@
144CFLAGS = @CFLAGS@
145CHECK_CFLAGS = @CHECK_CFLAGS@
146CHECK_LIBS = @CHECK_LIBS@
147CPP = @CPP@
148CPPFLAGS = @CPPFLAGS@
149CURL_CFLAGS = @CURL_CFLAGS@
150CURL_LIBS = @CURL_LIBS@
151CXX = @CXX@
152CXXCPP = @CXXCPP@
153CXXDEPMODE = @CXXDEPMODE@
154CXXFLAGS = @CXXFLAGS@
155CYGPATH_W = @CYGPATH_W@
156DEFS = @DEFS@
157DEPDIR = @DEPDIR@
158DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
159DIRECTFB_LIBS = @DIRECTFB_LIBS@
160DLLTOOL = @DLLTOOL@
161DSYMUTIL = @DSYMUTIL@
162DUMPBIN = @DUMPBIN@
163ECHO_C = @ECHO_C@
164ECHO_N = @ECHO_N@
165ECHO_T = @ECHO_T@
166ECORE_XCB_CFLAGS = @ECORE_XCB_CFLAGS@
167ECORE_XCB_LIBS = @ECORE_XCB_LIBS@
168EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
169EFL_ECORE_CON_BUILD = @EFL_ECORE_CON_BUILD@
170EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
171EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
172EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
173EFL_ECORE_IMF_EVAS_BUILD = @EFL_ECORE_IMF_EVAS_BUILD@
174EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
175EFL_ECORE_INPUT_EVAS_BUILD = @EFL_ECORE_INPUT_EVAS_BUILD@
176EFL_ECORE_IPC_BUILD = @EFL_ECORE_IPC_BUILD@
177EFL_ECORE_PSL1GHT_BUILD = @EFL_ECORE_PSL1GHT_BUILD@
178EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
179EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
180EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
181EFL_PTHREAD_CFLAGS = @EFL_PTHREAD_CFLAGS@
182EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
183EGREP = @EGREP@
184EINA_CFLAGS = @EINA_CFLAGS@
185EINA_LIBS = @EINA_LIBS@
186ESCAPE_CFLAGS = @ESCAPE_CFLAGS@
187ESCAPE_LIBS = @ESCAPE_LIBS@
188EVAS_CFLAGS = @EVAS_CFLAGS@
189EVAS_LIBS = @EVAS_LIBS@
190EVIL_CFLAGS = @EVIL_CFLAGS@
191EVIL_LIBS = @EVIL_LIBS@
192EXEEXT = @EXEEXT@
193FGREP = @FGREP@
194GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
195GLIB_CFLAGS = @GLIB_CFLAGS@
196GLIB_LIBS = @GLIB_LIBS@
197GMSGFMT = @GMSGFMT@
198GMSGFMT_015 = @GMSGFMT_015@
199GREP = @GREP@
200INSTALL = @INSTALL@
201INSTALL_DATA = @INSTALL_DATA@
202INSTALL_PROGRAM = @INSTALL_PROGRAM@
203INSTALL_SCRIPT = @INSTALL_SCRIPT@
204INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
205INTLLIBS = @INTLLIBS@
206INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
207KEYSYMDEFS = @KEYSYMDEFS@
208LD = @LD@
209LDFLAGS = @LDFLAGS@
210LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
211LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
212LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
213LIBICONV = @LIBICONV@
214LIBINTL = @LIBINTL@
215LIBOBJS = @LIBOBJS@
216LIBS = @LIBS@
217LIBTOOL = @LIBTOOL@
218LIPO = @LIPO@
219LN_S = @LN_S@
220LTLIBICONV = @LTLIBICONV@
221LTLIBINTL = @LTLIBINTL@
222LTLIBOBJS = @LTLIBOBJS@
223MAKEINFO = @MAKEINFO@
224MKDIR_P = @MKDIR_P@
225MSGFMT = @MSGFMT@
226MSGFMT_015 = @MSGFMT_015@
227MSGMERGE = @MSGMERGE@
228NM = @NM@
229NMEDIT = @NMEDIT@
230OBJC = @OBJC@
231OBJCDEPMODE = @OBJCDEPMODE@
232OBJCFLAGS = @OBJCFLAGS@
233OBJDUMP = @OBJDUMP@
234OBJEXT = @OBJEXT@
235OTOOL = @OTOOL@
236OTOOL64 = @OTOOL64@
237PACKAGE = @PACKAGE@
238PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
239PACKAGE_NAME = @PACKAGE_NAME@
240PACKAGE_STRING = @PACKAGE_STRING@
241PACKAGE_TARNAME = @PACKAGE_TARNAME@
242PACKAGE_URL = @PACKAGE_URL@
243PACKAGE_VERSION = @PACKAGE_VERSION@
244PATH_SEPARATOR = @PATH_SEPARATOR@
245PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
246PIXMAN_LIBS = @PIXMAN_LIBS@
247PKG_CONFIG = @PKG_CONFIG@
248PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
249PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
250POSUB = @POSUB@
251RANLIB = @RANLIB@
252SDL_CFLAGS = @SDL_CFLAGS@
253SDL_CONFIG = @SDL_CONFIG@
254SDL_LIBS = @SDL_LIBS@
255SED = @SED@
256SET_MAKE = @SET_MAKE@
257SHELL = @SHELL@
258SSL_CFLAGS = @SSL_CFLAGS@
259SSL_LIBS = @SSL_LIBS@
260STRIP = @STRIP@
261TLS2_CFLAGS = @TLS2_CFLAGS@
262TLS2_LIBS = @TLS2_LIBS@
263TLS_CFLAGS = @TLS_CFLAGS@
264TLS_LIBS = @TLS_LIBS@
265TSLIB_CFLAGS = @TSLIB_CFLAGS@
266TSLIB_LIBS = @TSLIB_LIBS@
267USE_NLS = @USE_NLS@
268VERSION = @VERSION@
269VMAJ = @VMAJ@
270WIN32_CFLAGS = @WIN32_CFLAGS@
271WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
272WIN32_LIBS = @WIN32_LIBS@
273XCB_COMPOSITE_CFLAGS = @XCB_COMPOSITE_CFLAGS@
274XCB_COMPOSITE_LIBS = @XCB_COMPOSITE_LIBS@
275XCB_CURSOR_CFLAGS = @XCB_CURSOR_CFLAGS@
276XCB_CURSOR_LIBS = @XCB_CURSOR_LIBS@
277XCB_DAMAGE_CFLAGS = @XCB_DAMAGE_CFLAGS@
278XCB_DAMAGE_LIBS = @XCB_DAMAGE_LIBS@
279XCB_DPMS_CFLAGS = @XCB_DPMS_CFLAGS@
280XCB_DPMS_LIBS = @XCB_DPMS_LIBS@
281XCB_RANDR_CFLAGS = @XCB_RANDR_CFLAGS@
282XCB_RANDR_LIBS = @XCB_RANDR_LIBS@
283XCB_RENDER_CFLAGS = @XCB_RENDER_CFLAGS@
284XCB_RENDER_LIBS = @XCB_RENDER_LIBS@
285XCB_SCREENSAVER_CFLAGS = @XCB_SCREENSAVER_CFLAGS@
286XCB_SCREENSAVER_LIBS = @XCB_SCREENSAVER_LIBS@
287XCB_SHAPE_CFLAGS = @XCB_SHAPE_CFLAGS@
288XCB_SHAPE_LIBS = @XCB_SHAPE_LIBS@
289XCB_SYNC_CFLAGS = @XCB_SYNC_CFLAGS@
290XCB_SYNC_LIBS = @XCB_SYNC_LIBS@
291XCB_X11_CFLAGS = @XCB_X11_CFLAGS@
292XCB_X11_LIBS = @XCB_X11_LIBS@
293XCB_XFIXES_CFLAGS = @XCB_XFIXES_CFLAGS@
294XCB_XFIXES_LIBS = @XCB_XFIXES_LIBS@
295XCB_XGESTURE_CFLAGS = @XCB_XGESTURE_CFLAGS@
296XCB_XGESTURE_LIBS = @XCB_XGESTURE_LIBS@
297XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
298XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
299XCB_XINPUT_CFLAGS = @XCB_XINPUT_CFLAGS@
300XCB_XINPUT_LIBS = @XCB_XINPUT_LIBS@
301XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
302XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
303XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
304XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
305XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
306XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
307XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
308XDAMAGE_LIBS = @XDAMAGE_LIBS@
309XDPMS_CFLAGS = @XDPMS_CFLAGS@
310XDPMS_LIBS = @XDPMS_LIBS@
311XFIXES_CFLAGS = @XFIXES_CFLAGS@
312XFIXES_LIBS = @XFIXES_LIBS@
313XGESTURE_CFLAGS = @XGESTURE_CFLAGS@
314XGESTURE_LIBS = @XGESTURE_LIBS@
315XGETTEXT = @XGETTEXT@
316XGETTEXT_015 = @XGETTEXT_015@
317XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
318XI2_CFLAGS = @XI2_CFLAGS@
319XI2_LIBS = @XI2_LIBS@
320XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
321XINERAMA_LIBS = @XINERAMA_LIBS@
322XKB_CFLAGS = @XKB_CFLAGS@
323XKB_LIBS = @XKB_LIBS@
324XMKMF = @XMKMF@
325XPRINT_CFLAGS = @XPRINT_CFLAGS@
326XPRINT_LIBS = @XPRINT_LIBS@
327XRANDR_CFLAGS = @XRANDR_CFLAGS@
328XRANDR_LIBS = @XRANDR_LIBS@
329XRENDER_CFLAGS = @XRENDER_CFLAGS@
330XRENDER_LIBS = @XRENDER_LIBS@
331XSS_CFLAGS = @XSS_CFLAGS@
332XSS_LIBS = @XSS_LIBS@
333XTEST_CFLAGS = @XTEST_CFLAGS@
334XTEST_LIBS = @XTEST_LIBS@
335X_CFLAGS = @X_CFLAGS@
336X_EXTRA_LIBS = @X_EXTRA_LIBS@
337X_LIBS = @X_LIBS@
338X_PRE_LIBS = @X_PRE_LIBS@
339Xcursor_cflags = @Xcursor_cflags@
340Xcursor_libs = @Xcursor_libs@
341abs_builddir = @abs_builddir@
342abs_srcdir = @abs_srcdir@
343abs_top_builddir = @abs_top_builddir@
344abs_top_srcdir = @abs_top_srcdir@
345ac_ct_CC = @ac_ct_CC@
346ac_ct_CXX = @ac_ct_CXX@
347ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
348ac_ct_OBJC = @ac_ct_OBJC@
349am__include = @am__include@
350am__leading_dot = @am__leading_dot@
351am__quote = @am__quote@
352am__tar = @am__tar@
353am__untar = @am__untar@
354bindir = @bindir@
355build = @build@
356build_alias = @build_alias@
357build_cpu = @build_cpu@
358build_os = @build_os@
359build_vendor = @build_vendor@
360builddir = @builddir@
361cocoa_ldflags = @cocoa_ldflags@
362datadir = @datadir@
363datarootdir = @datarootdir@
364dlopen_libs = @dlopen_libs@
365docdir = @docdir@
366dvidir = @dvidir@
367ecore_cocoa_cflags = @ecore_cocoa_cflags@
368ecore_cocoa_libs = @ecore_cocoa_libs@
369ecore_con_cflags = @ecore_con_cflags@
370ecore_con_libs = @ecore_con_libs@
371ecore_directfb_cflags = @ecore_directfb_cflags@
372ecore_directfb_libs = @ecore_directfb_libs@
373ecore_evas_cflags = @ecore_evas_cflags@
374ecore_evas_libs = @ecore_evas_libs@
375ecore_fb_cflags = @ecore_fb_cflags@
376ecore_fb_libs = @ecore_fb_libs@
377ecore_file_cflags = @ecore_file_cflags@
378ecore_file_libs = @ecore_file_libs@
379ecore_imf_cflags = @ecore_imf_cflags@
380ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
381ecore_imf_evas_libs = @ecore_imf_evas_libs@
382ecore_imf_libs = @ecore_imf_libs@
383ecore_imf_xim_cflags = @ecore_imf_xim_cflags@
384ecore_imf_xim_libs = @ecore_imf_xim_libs@
385ecore_input_cflags = @ecore_input_cflags@
386ecore_input_evas_cflags = @ecore_input_evas_cflags@
387ecore_input_evas_libs = @ecore_input_evas_libs@
388ecore_input_libs = @ecore_input_libs@
389ecore_ipc_cflags = @ecore_ipc_cflags@
390ecore_ipc_libs = @ecore_ipc_libs@
391ecore_psl1ght_cflags = @ecore_psl1ght_cflags@
392ecore_psl1ght_libs = @ecore_psl1ght_libs@
393ecore_sdl_cflags = @ecore_sdl_cflags@
394ecore_sdl_libs = @ecore_sdl_libs@
395ecore_win32_cflags = @ecore_win32_cflags@
396ecore_win32_libs = @ecore_win32_libs@
397ecore_wince_cflags = @ecore_wince_cflags@
398ecore_wince_libs = @ecore_wince_libs@
399ecore_x_cflags = @ecore_x_cflags@
400ecore_x_libs = @ecore_x_libs@
401ecore_x_libs_private = @ecore_x_libs_private@
402efl_doxygen = @efl_doxygen@
403efl_have_doxygen = @efl_have_doxygen@
404exec_prefix = @exec_prefix@
405have_ecore_x_xcb_define = @have_ecore_x_xcb_define@
406host = @host@
407host_alias = @host_alias@
408host_cpu = @host_cpu@
409host_os = @host_os@
410host_vendor = @host_vendor@
411htmldir = @htmldir@
412includedir = @includedir@
413infodir = @infodir@
414install_sh = @install_sh@
415libdir = @libdir@
416libexecdir = @libexecdir@
417localedir = @localedir@
418localstatedir = @localstatedir@
419lt_ECHO = @lt_ECHO@
420lt_enable_auto_import = @lt_enable_auto_import@
421mandir = @mandir@
422mkdir_p = @mkdir_p@
423oldincludedir = @oldincludedir@
424pdfdir = @pdfdir@
425pkgconfig_requires_private = @pkgconfig_requires_private@
426prefix = @prefix@
427program_transform_name = @program_transform_name@
428psdir = @psdir@
429release_info = @release_info@
430requirements_ecore = @requirements_ecore@
431requirements_ecore_cocoa = @requirements_ecore_cocoa@
432requirements_ecore_con = @requirements_ecore_con@
433requirements_ecore_directfb = @requirements_ecore_directfb@
434requirements_ecore_evas = @requirements_ecore_evas@
435requirements_ecore_fb = @requirements_ecore_fb@
436requirements_ecore_file = @requirements_ecore_file@
437requirements_ecore_imf = @requirements_ecore_imf@
438requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
439requirements_ecore_imf_xim = @requirements_ecore_imf_xim@
440requirements_ecore_input = @requirements_ecore_input@
441requirements_ecore_input_evas = @requirements_ecore_input_evas@
442requirements_ecore_ipc = @requirements_ecore_ipc@
443requirements_ecore_psl1ght = @requirements_ecore_psl1ght@
444requirements_ecore_sdl = @requirements_ecore_sdl@
445requirements_ecore_win32 = @requirements_ecore_win32@
446requirements_ecore_wince = @requirements_ecore_wince@
447requirements_ecore_x = @requirements_ecore_x@
448rt_libs = @rt_libs@
449sbindir = @sbindir@
450sharedstatedir = @sharedstatedir@
451srcdir = @srcdir@
452sysconfdir = @sysconfdir@
453target_alias = @target_alias@
454top_build_prefix = @top_build_prefix@
455top_builddir = @top_builddir@
456top_srcdir = @top_srcdir@
457version_info = @version_info@
458x_cflags = @x_cflags@
459x_includes = @x_includes@
460x_libs = @x_libs@
461MAINTAINERCLEANFILES = Makefile.in
462AM_CPPFLAGS = \
463-I$(top_srcdir)/src/lib/ecore \
464-I$(top_builddir)/src/lib/ecore \
465@DIRECTFB_CFLAGS@ @EINA_CFLAGS@
466
467lib_LTLIBRARIES = libecore_directfb.la
468includes_HEADERS = Ecore_DirectFB.h
469includesdir = $(includedir)/ecore-@VMAJ@
470libecore_directfb_la_SOURCES = \
471ecore_directfb.c \
472ecore_directfb_keys.h \
473ecore_directfb_private.h
474
475libecore_directfb_la_LIBADD = \
476$(top_builddir)/src/lib/ecore/libecore.la \
477@DIRECTFB_LIBS@ \
478@EINA_LIBS@
479
480libecore_directfb_la_LDFLAGS = -version-info @version_info@ @release_info@
481libecore_directfb_la_DEPENDENCIES = \
482$(top_builddir)/src/lib/ecore/libecore.la
483
484EXTRA_DIST = \
485Ecore_DirectFB.h \
486ecore_directfb.c \
487ecore_directfb_keys.h \
488ecore_directfb_private.h
489
490all: all-am
491
492.SUFFIXES:
493.SUFFIXES: .c .lo .o .obj
494$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
495 @for dep in $?; do \
496 case '$(am__configure_deps)' in \
497 *$$dep*) \
498 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
499 && { if test -f $@; then exit 0; else break; fi; }; \
500 exit 1;; \
501 esac; \
502 done; \
503 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lib/ecore_directfb/Makefile'; \
504 $(am__cd) $(top_srcdir) && \
505 $(AUTOMAKE) --gnu src/lib/ecore_directfb/Makefile
506.PRECIOUS: Makefile
507Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
508 @case '$?' in \
509 *config.status*) \
510 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
511 *) \
512 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
513 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
514 esac;
515
516$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
517 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
518
519$(top_srcdir)/configure: $(am__configure_deps)
520 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
521$(ACLOCAL_M4): $(am__aclocal_m4_deps)
522 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
523$(am__aclocal_m4_deps):
524install-libLTLIBRARIES: $(lib_LTLIBRARIES)
525 @$(NORMAL_INSTALL)
526 test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
527 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
528 list2=; for p in $$list; do \
529 if test -f $$p; then \
530 list2="$$list2 $$p"; \
531 else :; fi; \
532 done; \
533 test -z "$$list2" || { \
534 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
535 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
536 }
537
538uninstall-libLTLIBRARIES:
539 @$(NORMAL_UNINSTALL)
540 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
541 for p in $$list; do \
542 $(am__strip_dir) \
543 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
544 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
545 done
546
547clean-libLTLIBRARIES:
548 -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
549 @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
550 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
551 test "$$dir" != "$$p" || dir=.; \
552 echo "rm -f \"$${dir}/so_locations\""; \
553 rm -f "$${dir}/so_locations"; \
554 done
555libecore_directfb.la: $(libecore_directfb_la_OBJECTS) $(libecore_directfb_la_DEPENDENCIES)
556 $(AM_V_CCLD)$(libecore_directfb_la_LINK) -rpath $(libdir) $(libecore_directfb_la_OBJECTS) $(libecore_directfb_la_LIBADD) $(LIBS)
557
558mostlyclean-compile:
559 -rm -f *.$(OBJEXT)
560
561distclean-compile:
562 -rm -f *.tab.c
563
564@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_directfb.Plo@am__quote@
565
566.c.o:
567@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
568@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
569@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
570@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
571@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
572@am__fastdepCC_FALSE@ $(COMPILE) -c $<
573
574.c.obj:
575@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
576@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
577@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
578@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
579@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
580@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
581
582.c.lo:
583@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
584@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
585@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
586@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
587@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
588@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
589
590mostlyclean-libtool:
591 -rm -f *.lo
592
593clean-libtool:
594 -rm -rf .libs _libs
595install-includesHEADERS: $(includes_HEADERS)
596 @$(NORMAL_INSTALL)
597 test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
598 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
599 for p in $$list; do \
600 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
601 echo "$$d$$p"; \
602 done | $(am__base_list) | \
603 while read files; do \
604 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
605 $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
606 done
607
608uninstall-includesHEADERS:
609 @$(NORMAL_UNINSTALL)
610 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
611 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
612 test -n "$$files" || exit 0; \
613 echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
614 cd "$(DESTDIR)$(includesdir)" && rm -f $$files
615
616ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
617 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
618 unique=`for i in $$list; do \
619 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
620 done | \
621 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
622 END { if (nonempty) { for (i in files) print i; }; }'`; \
623 mkid -fID $$unique
624tags: TAGS
625
626TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
627 $(TAGS_FILES) $(LISP)
628 set x; \
629 here=`pwd`; \
630 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
631 unique=`for i in $$list; do \
632 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
633 done | \
634 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
635 END { if (nonempty) { for (i in files) print i; }; }'`; \
636 shift; \
637 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
638 test -n "$$unique" || unique=$$empty_fix; \
639 if test $$# -gt 0; then \
640 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
641 "$$@" $$unique; \
642 else \
643 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
644 $$unique; \
645 fi; \
646 fi
647ctags: CTAGS
648CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
649 $(TAGS_FILES) $(LISP)
650 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
651 unique=`for i in $$list; do \
652 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
653 done | \
654 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
655 END { if (nonempty) { for (i in files) print i; }; }'`; \
656 test -z "$(CTAGS_ARGS)$$unique" \
657 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
658 $$unique
659
660GTAGS:
661 here=`$(am__cd) $(top_builddir) && pwd` \
662 && $(am__cd) $(top_srcdir) \
663 && gtags -i $(GTAGS_ARGS) "$$here"
664
665distclean-tags:
666 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
667
668distdir: $(DISTFILES)
669 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
670 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
671 list='$(DISTFILES)'; \
672 dist_files=`for file in $$list; do echo $$file; done | \
673 sed -e "s|^$$srcdirstrip/||;t" \
674 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
675 case $$dist_files in \
676 */*) $(MKDIR_P) `echo "$$dist_files" | \
677 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
678 sort -u` ;; \
679 esac; \
680 for file in $$dist_files; do \
681 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
682 if test -d $$d/$$file; then \
683 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
684 if test -d "$(distdir)/$$file"; then \
685 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
686 fi; \
687 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
688 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
689 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
690 fi; \
691 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
692 else \
693 test -f "$(distdir)/$$file" \
694 || cp -p $$d/$$file "$(distdir)/$$file" \
695 || exit 1; \
696 fi; \
697 done
698check-am: all-am
699check: check-am
700all-am: Makefile $(LTLIBRARIES) $(HEADERS)
701installdirs:
702 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includesdir)"; do \
703 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
704 done
705install: install-am
706install-exec: install-exec-am
707install-data: install-data-am
708uninstall: uninstall-am
709
710install-am: all-am
711 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
712
713installcheck: installcheck-am
714install-strip:
715 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
716 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
717 `test -z '$(STRIP)' || \
718 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
719mostlyclean-generic:
720
721clean-generic:
722
723distclean-generic:
724 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
725 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
726
727maintainer-clean-generic:
728 @echo "This command is intended for maintainers to use"
729 @echo "it deletes files that may require special tools to rebuild."
730 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
731clean: clean-am
732
733clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
734 mostlyclean-am
735
736distclean: distclean-am
737 -rm -rf ./$(DEPDIR)
738 -rm -f Makefile
739distclean-am: clean-am distclean-compile distclean-generic \
740 distclean-tags
741
742dvi: dvi-am
743
744dvi-am:
745
746html: html-am
747
748html-am:
749
750info: info-am
751
752info-am:
753
754install-data-am: install-includesHEADERS
755
756install-dvi: install-dvi-am
757
758install-dvi-am:
759
760install-exec-am: install-libLTLIBRARIES
761
762install-html: install-html-am
763
764install-html-am:
765
766install-info: install-info-am
767
768install-info-am:
769
770install-man:
771
772install-pdf: install-pdf-am
773
774install-pdf-am:
775
776install-ps: install-ps-am
777
778install-ps-am:
779
780installcheck-am:
781
782maintainer-clean: maintainer-clean-am
783 -rm -rf ./$(DEPDIR)
784 -rm -f Makefile
785maintainer-clean-am: distclean-am maintainer-clean-generic
786
787mostlyclean: mostlyclean-am
788
789mostlyclean-am: mostlyclean-compile mostlyclean-generic \
790 mostlyclean-libtool
791
792pdf: pdf-am
793
794pdf-am:
795
796ps: ps-am
797
798ps-am:
799
800uninstall-am: uninstall-includesHEADERS uninstall-libLTLIBRARIES
801
802.MAKE: install-am install-strip
803
804.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
805 clean-libLTLIBRARIES clean-libtool ctags distclean \
806 distclean-compile distclean-generic distclean-libtool \
807 distclean-tags distdir dvi dvi-am html html-am info info-am \
808 install install-am install-data install-data-am install-dvi \
809 install-dvi-am install-exec install-exec-am install-html \
810 install-html-am install-includesHEADERS install-info \
811 install-info-am install-libLTLIBRARIES install-man install-pdf \
812 install-pdf-am install-ps install-ps-am install-strip \
813 installcheck installcheck-am installdirs maintainer-clean \
814 maintainer-clean-generic mostlyclean mostlyclean-compile \
815 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
816 tags uninstall uninstall-am uninstall-includesHEADERS \
817 uninstall-libLTLIBRARIES
818
819
820# Tell versions [3.59,3.63) of GNU make to not export all variables.
821# Otherwise a system limit (for SysV at least) may be exceeded.
822.NOEXPORT:
diff --git a/libraries/ecore/src/lib/ecore_directfb/ecore_directfb.c b/libraries/ecore/src/lib/ecore_directfb/ecore_directfb.c
new file mode 100644
index 0000000..f45b3c3
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_directfb/ecore_directfb.c
@@ -0,0 +1,757 @@
1#ifdef HAVE_CONFIG_H
2# include <config.h>
3#endif /* ifdef HAVE_CONFIG_H */
4
5#include <stdio.h>
6#include <string.h>
7
8#include "Ecore_DirectFB.h"
9#include "ecore_directfb_private.h"
10#include "ecore_directfb_keys.h"
11#include "Ecore.h"
12#include "ecore_private.h"
13
14/* ecore_directfb */
15/******************/
16/* About */
17/* with this you can create windows of directfb and handle events through ecore
18 * TODO:
19 * - handle all event types
20 * -
21 * */
22int _ecore_directfb_log_dom = -1;
23
24static int _ecore_directfb_init_count = 0;
25
26static int _window_event_fd = 0;
27static int _input_event_fd = 0;
28
29static int _ecore_directfb_fullscreen_window_id = 0;
30static int _cursor_x = 0;
31static int _cursor_y = 0;
32
33EAPI int ECORE_DIRECTFB_EVENT_POSITION = 0;
34EAPI int ECORE_DIRECTFB_EVENT_SIZE = 0;
35EAPI int ECORE_DIRECTFB_EVENT_CLOSE = 0;
36EAPI int ECORE_DIRECTFB_EVENT_DESTROYED = 0;
37EAPI int ECORE_DIRECTFB_EVENT_GOT_FOCUS = 0;
38EAPI int ECORE_DIRECTFB_EVENT_LOST_FOCUS = 0;
39EAPI int ECORE_DIRECTFB_EVENT_KEY_DOWN = 0;
40EAPI int ECORE_DIRECTFB_EVENT_KEY_UP = 0;
41EAPI int ECORE_DIRECTFB_EVENT_BUTTON_DOWN = 0;
42EAPI int ECORE_DIRECTFB_EVENT_BUTTON_UP = 0;
43EAPI int ECORE_DIRECTFB_EVENT_MOTION = 0;
44EAPI int ECORE_DIRECTFB_EVENT_ENTER = 0;
45EAPI int ECORE_DIRECTFB_EVENT_LEAVE = 0;
46EAPI int ECORE_DIRECTFB_EVENT_WHEEL = 0;
47
48static Ecore_Fd_Handler *_window_event_fd_handler_handle = NULL;
49static Ecore_Fd_Handler *_input_event_fd_handler_handle = NULL;
50
51/* this hash is to store all the possible key names for fast lookup */
52static Eina_Hash *_ecore_directfb_key_symbols_hash = NULL;
53
54static IDirectFB *_dfb = NULL; // the main interface
55static IDirectFBEventBuffer *_window_event; // the main event buffer (all windows are attached to this)
56static IDirectFBEventBuffer *_input_event; // the main event buffer (all windows are attached to this)
57static IDirectFBDisplayLayer *_layer; // the main layer
58static DFBResult _err; // useful for DFBCHECK
59
60/*******************/
61/* local functions */
62/*******************/
63
64/* free ecore directfb events functions */
65/****************************************/
66
67static void
68_ecore_directfb_event_free_key_down(void *data __UNUSED__, void *ev)
69{
70 Ecore_DirectFB_Event_Key_Up *e;
71
72 e = ev;
73 if(e->name)
74 free(e->name);
75
76 if (e->string)
77 free(e->string);
78
79 if (e->key_compose)
80 free(e->key_compose);
81
82 free(e);
83} /* _ecore_directfb_event_free_key_down */
84
85static void
86_ecore_directfb_event_free_key_up(void *data __UNUSED__, void *ev)
87{
88 Ecore_DirectFB_Event_Key_Up *e;
89
90 e = ev;
91 if(e->name)
92 free(e->name);
93
94 if (e->string)
95 free(e->string);
96
97 if (e->key_compose)
98 free(e->key_compose);
99
100 free(e);
101} /* _ecore_directfb_event_free_key_up */
102
103/* directfb window input events handler */
104/****************************************/
105
106static void
107_ecore_directfb_event_handle_motion(DFBEvent *evt)
108{
109 Ecore_DirectFB_Event_Motion *e;
110 e = calloc(1, sizeof(Ecore_DirectFB_Event_Motion));
111
112 switch(evt->clazz)
113 {
114 case DFEC_INPUT:
115 e->modifiers = 0;
116 switch(evt->input.axis)
117 {
118 case DIAI_X:
119 e->x = _cursor_x = evt->input.axisabs;
120 e->y = _cursor_y;
121 break;
122
123 case DIAI_Y:
124 e->y = _cursor_y = evt->input.axisabs;
125 e->x = _cursor_x;
126 break;
127
128 case DIAI_Z:
129 //_ecore_directfb_event_handle_wheel(evt);
130 return;
131
132 default:
133 return;
134 } /* switch */
135 e->win = _ecore_directfb_fullscreen_window_id;
136 e->time = 0;
137 break;
138
139 case DFEC_WINDOW:
140 e->modifiers = 0;
141 e->x = evt->window.x;
142 e->y = evt->window.y;
143 e->win = evt->window.window_id;
144 e->time = 0;
145 break;
146
147 default:
148 break;
149 } /* switch */
150 ecore_event_add(ECORE_DIRECTFB_EVENT_MOTION, e, NULL, NULL);
151} /* _ecore_directfb_event_handle_motion */
152
153static void
154_ecore_directfb_event_handle_key_down(DFBEvent *evt)
155{
156 Ecore_DirectFB_Event_Key_Down *e;
157 unsigned int key_symbol;
158 struct keymap *k;
159
160 e = calloc(1, sizeof(Ecore_DirectFB_Event_Key_Down));
161
162 switch(evt->clazz)
163 {
164 case DFEC_INPUT:
165 key_symbol = evt->input.key_symbol;
166 k = eina_hash_find(_ecore_directfb_key_symbols_hash, &key_symbol);
167
168 if(!k)
169 {
170 ERR("Symbol %0X of class DFEC_INPUT not found.", evt->input.key_symbol);
171 return;
172 }
173
174 e->name = strdup(k->name);
175 e->string = strdup(k->string);
176 e->key_compose = NULL;
177 e->win = _ecore_directfb_fullscreen_window_id;
178 e->time = 0;
179 break;
180
181 case DFEC_WINDOW:
182 key_symbol = evt->window.key_symbol;
183 k = eina_hash_find(_ecore_directfb_key_symbols_hash, &key_symbol);
184
185 if(!k)
186 {
187 ERR("Symbol %0X of class DFEC_WINDOW not found.", evt->window.key_symbol);
188 return;
189 }
190
191 e->name = strdup(k->name);
192 e->string = strdup(k->string);
193 e->key_compose = NULL;
194 e->win = evt->window.window_id;
195 e->time = 0;
196 break;
197
198 default:
199 break;
200 } /* switch */
201
202 ecore_event_add(ECORE_DIRECTFB_EVENT_KEY_DOWN, e, _ecore_directfb_event_free_key_down, NULL);
203} /* _ecore_directfb_event_handle_key_down */
204
205static void
206_ecore_directfb_event_handle_key_up(DFBEvent *evt)
207{
208 Ecore_DirectFB_Event_Key_Up *e;
209 unsigned int key_symbol;
210 struct keymap *k;
211
212 e = calloc(1, sizeof(Ecore_DirectFB_Event_Key_Up));
213
214 switch(evt->clazz)
215 {
216 case DFEC_INPUT:
217 key_symbol = evt->input.key_symbol;
218 k = eina_hash_find(_ecore_directfb_key_symbols_hash, &key_symbol);
219
220 if(!k)
221 {
222 ERR("Symbol %0X of class DFEC_INPUT not found.", evt->input.key_symbol);
223 return;
224 }
225
226 e->name = strdup(k->name);
227 e->string = strdup(k->string);
228 e->key_compose = NULL;
229 e->win = _ecore_directfb_fullscreen_window_id;
230 e->time = 0;
231 break;
232
233 case DFEC_WINDOW:
234 key_symbol = evt->window.key_symbol;
235 k = eina_hash_find(_ecore_directfb_key_symbols_hash, &key_symbol);
236
237 if(!k)
238 {
239 ERR("Symbol %0X of class DFEC_WINDOW not found.", evt->window.key_symbol);
240 return;
241 }
242
243 e->name = strdup(k->name);
244 e->string = strdup(k->string);
245 e->key_compose = NULL;
246 e->win = evt->window.window_id;
247 e->time = 0;
248 break;
249
250 default:
251 break;
252 } /* switch */
253 ecore_event_add(ECORE_DIRECTFB_EVENT_KEY_UP, e, _ecore_directfb_event_free_key_up, NULL);
254} /* _ecore_directfb_event_handle_key_up */
255
256static void
257_ecore_directfb_event_handle_button_down(DFBEvent *evt)
258{
259 Ecore_DirectFB_Event_Button_Down *e;
260 e = calloc(1, sizeof(Ecore_DirectFB_Event_Button_Down));
261
262 switch(evt->clazz)
263 {
264 case DFEC_INPUT:
265 e->button = evt->input.button + 1;
266 e->modifiers = 0;
267 DFBCHECK(_layer->GetCursorPosition(_layer,&e->x,&e->y));
268 e->x = _cursor_x;
269 e->y = _cursor_y;
270 e->win = _ecore_directfb_fullscreen_window_id;
271 e->time = 0;
272
273 break;
274
275 case DFEC_WINDOW:
276 e->button = evt->window.button + 1;
277 e->modifiers = 0;
278 e->x = evt->window.x;
279 e->y = evt->window.y;
280 e->win = evt->window.window_id;
281 e->time = 0;
282 break;
283
284 default:
285 break;
286 } /* switch */
287
288 ecore_event_add(ECORE_DIRECTFB_EVENT_BUTTON_DOWN, e, NULL, NULL);
289} /* _ecore_directfb_event_handle_button_down */
290
291static void
292_ecore_directfb_event_handle_button_up(DFBEvent *evt)
293{
294 Ecore_DirectFB_Event_Button_Up *e;
295 e = calloc(1, sizeof(Ecore_DirectFB_Event_Button_Up));
296
297 switch(evt->clazz)
298 {
299 case DFEC_INPUT:
300 e->button = evt->input.button + 1;
301 e->modifiers = 0;
302 e->x = _cursor_x;
303 e->y = _cursor_y;
304 e->win = _ecore_directfb_fullscreen_window_id;
305 e->time = 0;
306
307 break;
308
309 case DFEC_WINDOW:
310 e->button = evt->window.button + 1;
311 e->modifiers = 0;
312 e->x = evt->window.x;
313 e->y = evt->window.y;
314 e->win = evt->window.window_id;
315 e->time = 0;
316 break;
317
318 default:
319 break;
320 } /* switch */
321 ecore_event_add(ECORE_DIRECTFB_EVENT_BUTTON_UP, e, NULL, NULL);
322} /* _ecore_directfb_event_handle_button_up */
323
324static void
325_ecore_directfb_event_handle_enter(DFBWindowEvent *evt)
326{
327 Ecore_DirectFB_Event_Enter *e;
328 e = calloc(1, sizeof(Ecore_DirectFB_Event_Enter));
329
330 e->modifiers = 0;
331 e->x = evt->x;
332 e->y = evt->y;
333 e->win = evt->window_id;
334 e->time = 0;
335
336 ecore_event_add(ECORE_DIRECTFB_EVENT_ENTER, e, NULL, NULL);
337} /* _ecore_directfb_event_handle_enter */
338
339static void
340_ecore_directfb_event_handle_leave(DFBWindowEvent *evt)
341{
342 Ecore_DirectFB_Event_Leave *e;
343 e = calloc(1, sizeof(Ecore_DirectFB_Event_Leave));
344
345 e->modifiers = 0;
346 e->x = evt->x;
347 e->y = evt->y;
348 e->win = evt->window_id;
349 e->time = 0;
350
351 ecore_event_add(ECORE_DIRECTFB_EVENT_LEAVE, e, NULL, NULL);
352} /* _ecore_directfb_event_handle_leave */
353
354static void
355_ecore_directfb_event_handle_wheel(DFBWindowEvent *evt)
356{
357 Ecore_DirectFB_Event_Wheel *e;
358 e = calloc(1, sizeof(Ecore_DirectFB_Event_Wheel));
359
360 // currently there's no direction (only up/down);
361 e->direction = 0;
362 e->z = evt->step;
363 e->modifiers = 0;
364 e->win = evt->window_id;
365 e->time = 0;
366
367 ecore_event_add(ECORE_DIRECTFB_EVENT_WHEEL, e, NULL, NULL);
368} /* _ecore_directfb_event_handle_wheel */
369
370static void
371_ecore_directfb_event_handle_got_focus(DFBWindowEvent *evt)
372{
373 Ecore_DirectFB_Event_Got_Focus *e;
374 e = calloc(1, sizeof(Ecore_DirectFB_Event_Got_Focus));
375
376 e->win = evt->window_id;
377 e->time = 0;
378
379 ecore_event_add(ECORE_DIRECTFB_EVENT_GOT_FOCUS, e, NULL, NULL);
380} /* _ecore_directfb_event_handle_got_focus */
381
382static void
383_ecore_directfb_event_handle_lost_focus(DFBWindowEvent *evt)
384{
385 Ecore_DirectFB_Event_Lost_Focus *e;
386 e = calloc(1, sizeof(Ecore_DirectFB_Event_Lost_Focus));
387
388 e->win = evt->window_id;
389 e->time = 0;
390
391 ecore_event_add(ECORE_DIRECTFB_EVENT_LOST_FOCUS, e, NULL, NULL);
392} /* _ecore_directfb_event_handle_lost_focus */
393
394/* inputs and windows fds handlers */
395/***********************************/
396/* TODO fix this to handle windows and input events (fullscreen/window mode)
397 * in fullscreen theres no window_id so get the id from a global var (only one fullscreen
398 * window at a time */
399
400static Eina_Bool
401_ecore_directfb_input_event_fd_handler(void *data __UNUSED__,Ecore_Fd_Handler *fd_handler __UNUSED__)
402{
403 DFBEvent evt;
404 int v = 0;
405
406 v = read(_input_event_fd, &evt, sizeof(DFBEvent));
407 if (v < 0)
408 return EINA_TRUE;
409
410 if (v < 1)
411 return EINA_TRUE;
412
413 /* we are getting duplicate events, only parse if we are in fullscreen */
414 //if(_ecore_directfb_fullscreen_window_id == 0) break;
415 if(evt.input.type == DIET_KEYPRESS)
416 _ecore_directfb_event_handle_key_down(&evt);
417
418 if(evt.input.type == DIET_KEYRELEASE)
419 _ecore_directfb_event_handle_key_up(&evt);
420
421 if(evt.input.type == DIET_BUTTONPRESS)
422 _ecore_directfb_event_handle_button_down(&evt);
423
424 if(evt.input.type == DIET_BUTTONRELEASE)
425 _ecore_directfb_event_handle_button_up(&evt);
426
427 if(evt.input.type == DIET_AXISMOTION)
428 _ecore_directfb_event_handle_motion(&evt);
429
430 return EINA_TRUE;
431} /* _ecore_directfb_input_event_fd_handler */
432
433static Eina_Bool
434_ecore_directfb_window_event_fd_handler(void *data __UNUSED__,Ecore_Fd_Handler *fd_handler __UNUSED__)
435{
436 DFBEvent evt;
437 int v = 0;
438
439 v = read(_window_event_fd, &evt, sizeof(DFBEvent));
440 if (v < 0)
441 return EINA_TRUE;
442
443 if (v < 1)
444 return EINA_TRUE;
445
446 if(evt.window.type & DWET_POSITION)
447 INF("position");
448
449 if(evt.window.type & DWET_SIZE)
450 INF("size");
451
452 if(evt.window.type & DWET_CLOSE)
453 INF("close");
454
455 if(evt.window.type & DWET_DESTROYED)
456 INF("destroyed");
457
458 if(evt.window.type & DWET_GOTFOCUS)
459 _ecore_directfb_event_handle_got_focus(&evt.window);
460
461 if(evt.window.type & DWET_LOSTFOCUS)
462 _ecore_directfb_event_handle_lost_focus(&evt.window);
463
464 if(evt.window.type & DWET_KEYDOWN)
465 _ecore_directfb_event_handle_key_down(&evt);
466
467 if(evt.window.type & DWET_KEYUP)
468 _ecore_directfb_event_handle_key_up(&evt);
469
470 if(evt.window.type & DWET_BUTTONDOWN)
471 _ecore_directfb_event_handle_button_down(&evt);
472
473 if(evt.window.type & DWET_BUTTONUP)
474 _ecore_directfb_event_handle_button_up(&evt);
475
476 if(evt.window.type & DWET_MOTION)
477 _ecore_directfb_event_handle_motion(&evt);
478
479 if(evt.window.type & DWET_ENTER)
480 _ecore_directfb_event_handle_enter(&evt.window);
481
482 if(evt.window.type & DWET_LEAVE)
483 _ecore_directfb_event_handle_leave(&evt.window);
484
485 if(evt.window.type & DWET_WHEEL)
486 _ecore_directfb_event_handle_wheel(&evt.window);
487
488 return EINA_TRUE;
489} /* _ecore_directfb_window_event_fd_handler */
490
491/* api functions */
492/*****************/
493
494EAPI IDirectFB *
495ecore_directfb_interface_get(void)
496{
497 return _dfb;
498} /* ecore_directfb_interface_get */
499
500EAPI Ecore_DirectFB_Window *
501ecore_directfb_window_new(int x, int y, int w, int h)
502{
503 Ecore_DirectFB_Window *window;
504 IDirectFBWindow *dfb_window;
505 IDirectFBSurface *dfb_surface = NULL;
506 DFBWindowDescription desc;
507 DFBWindowID id;
508
509 memset(&desc, 0, sizeof(DFBWindowDescription));
510 desc.flags = (DWDESC_POSX | DWDESC_POSY | DWDESC_WIDTH | DWDESC_HEIGHT | DWDESC_CAPS);
511 desc.posx = x;
512 desc.posy = y;
513 desc.width = w;
514 desc.height = h;
515 desc.caps = DWCAPS_ALPHACHANNEL;
516
517 DFBCHECK(_layer->CreateWindow(_layer, &desc, &dfb_window));
518
519 dfb_window->AttachEventBuffer(dfb_window, _window_event);
520 dfb_window->SetOptions(dfb_window,DWOP_NONE);
521 dfb_window->SetOpacity(dfb_window, 0xFF);
522
523 DFBCHECK(dfb_window->GetID(dfb_window, &id));
524 DFBCHECK(dfb_window->GetSurface(dfb_window,&dfb_surface));
525
526 window = malloc(sizeof(Ecore_DirectFB_Window));
527 window->id = id;
528 window->window = dfb_window;
529 window->surface = dfb_surface;
530 window->cursor = NULL;
531
532 return window;
533} /* ecore_directfb_window_new */
534
535EAPI void
536ecore_directfb_window_free(Ecore_DirectFB_Window *ecore_window)
537{
538 DFBCHECK(ecore_window->surface->Release(ecore_window->surface));
539 DFBCHECK(ecore_window->window->Release(ecore_window->window));
540 free(ecore_window);
541} /* ecore_directfb_window_free */
542
543EAPI void
544ecore_directfb_window_move(Ecore_DirectFB_Window *ecore_window, int x, int y)
545{
546 DFBCHECK(ecore_window->window->MoveTo(ecore_window->window, x, y));
547} /* ecore_directfb_window_move */
548
549EAPI void
550ecore_directfb_window_resize(Ecore_DirectFB_Window *ecore_window, int w, int h)
551{
552 DFBCHECK(ecore_window->window->Resize(ecore_window->window, w, h));
553} /* ecore_directfb_window_resize */
554
555EAPI void
556ecore_directfb_window_focus(Ecore_DirectFB_Window *ecore_window)
557{
558 DFBCHECK(ecore_window->window->RequestFocus(ecore_window->window));
559} /* ecore_directfb_window_focus */
560
561EAPI void
562ecore_directfb_window_hide(Ecore_DirectFB_Window *ecore_window)
563{
564 DFBCHECK(ecore_window->window->SetOpacity(ecore_window->window, 0));
565} /* ecore_directfb_window_hide */
566
567EAPI void
568ecore_directfb_window_show(Ecore_DirectFB_Window *ecore_window)
569{
570 DFBCHECK(ecore_window->window->SetOpacity(ecore_window->window, 0xFF));
571} /* ecore_directfb_window_show */
572
573EAPI void
574ecore_directfb_window_shaped_set(Ecore_DirectFB_Window *ecore_window, Eina_Bool set)
575{
576 DFBWindowOptions opts;
577
578 DFBCHECK(ecore_window->window->GetOptions(ecore_window->window, &opts));
579 if(set)
580 {
581 opts |= DWOP_SHAPED;
582 opts |= DWOP_ALPHACHANNEL;
583 DFBCHECK(ecore_window->window->SetOptions(ecore_window->window, opts));
584 }
585 else
586 {
587 opts &= ~DWOP_SHAPED;
588 opts &= ~DWOP_ALPHACHANNEL;
589 DFBCHECK(ecore_window->window->SetOptions(ecore_window->window, opts));
590 }
591} /* ecore_directfb_window_shaped_set */
592
593EAPI void
594ecore_directfb_window_cursor_show(Ecore_DirectFB_Window *ecore_window, Eina_Bool show)
595{
596 if(!show)
597 {
598 /* create an empty cursor and set it */
599 IDirectFBSurface *cursor;
600 DFBSurfaceDescription desc;
601
602 memset(&desc, 0, sizeof(DFBSurfaceDescription));
603 desc.flags = (DSDESC_HEIGHT | DSDESC_WIDTH | DSDESC_PIXELFORMAT);
604 desc.width = 1;
605 desc.height = 1;
606 desc.pixelformat = DSPF_A1;
607
608 DFBCHECK(_dfb->CreateSurface(_dfb,&desc,&cursor));
609 DFBCHECK(cursor->Clear(cursor,0,0,0,0));
610 DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, cursor, 0, 0));
611 }
612 else
613 {
614 /* we already have a cursor surface so set it*/
615 if(ecore_window->cursor)
616 {
617 DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, ecore_window->cursor->surface, ecore_window->cursor->hot_x, ecore_window->cursor->hot_y));
618 }
619 /* or just set the default directfb cursor */
620 else
621 {
622 DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, NULL, 0, 0));
623 }
624 }
625} /* ecore_directfb_window_cursor_show */
626
627EAPI void
628ecore_directfb_window_cursor_set(Ecore_DirectFB_Window *ecore_window, Ecore_DirectFB_Cursor *cursor)
629{
630 if((!cursor) && (ecore_window->cursor))
631 {
632 ecore_window->cursor = NULL;
633 DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, NULL, 0, 0));
634 return;
635 }
636
637 if(cursor)
638 {
639 ecore_window->cursor = cursor;
640 DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, cursor->surface, cursor->hot_x, cursor->hot_y));
641 }
642} /* ecore_directfb_window_cursor_set */
643
644EAPI void
645ecore_directfb_window_fullscreen_set(Ecore_DirectFB_Window *ecore_window, Eina_Bool on)
646{
647 // always release the surface (we are going to get a new one in both cases)
648 DFBCHECK(ecore_window->surface->Release(ecore_window->surface));
649 if(on)
650 {
651 DFBCHECK(_layer->SetCooperativeLevel(_layer,DLSCL_EXCLUSIVE));
652 DFBCHECK(_layer->GetSurface(_layer,&ecore_window->surface));
653 DFBCHECK(_dfb->CreateInputEventBuffer(_dfb, DICAPS_ALL, DFB_FALSE, &_input_event));
654 DFBCHECK(_input_event->CreateFileDescriptor(_input_event,&_input_event_fd));
655 /* the event of axismove sends one axis at a time, so we must store both */
656 DFBCHECK(_layer->GetCursorPosition(_layer,&_cursor_x,&_cursor_y));
657
658 _input_event_fd_handler_handle = ecore_main_fd_handler_add(_input_event_fd,ECORE_FD_READ,_ecore_directfb_input_event_fd_handler, NULL,NULL,NULL);
659 _ecore_directfb_fullscreen_window_id = ecore_window->id;
660 }
661 else
662 {
663 ecore_main_fd_handler_del(_input_event_fd_handler_handle);
664 DFBCHECK(_input_event->Release(_input_event));
665 DFBCHECK(_layer->SetCooperativeLevel(_layer,DLSCL_SHARED));
666 DFBCHECK(ecore_window->window->GetSurface(ecore_window->window, &ecore_window->surface));
667 _ecore_directfb_fullscreen_window_id = 0;
668 }
669} /* ecore_directfb_window_fullscreen_set */
670
671EAPI void
672ecore_directfb_window_size_get(Ecore_DirectFB_Window *ecore_window, int *w, int *h)
673{
674 DFBCHECK(ecore_window->surface->GetSize(ecore_window->surface,w,h));
675 return;
676} /* ecore_directfb_window_size_get */
677
678EAPI int
679ecore_directfb_init(const char *name __UNUSED__)
680{
681 int i = 0;
682
683 if (++_ecore_directfb_init_count != 1)
684 return _ecore_directfb_init_count;
685
686 _ecore_directfb_log_dom = eina_log_domain_register
687 ("ecore_directfb", ECORE_DIRECTFB_DEFAULT_LOG_COLOR);
688 if(_ecore_directfb_log_dom < 0)
689 {
690 EINA_LOG_ERR("Impossible to create a log domain for the Ecore directFB module.");
691 return _ecore_directfb_init_count--;
692 }
693
694 DFBCHECK(DirectFBInit(NULL,NULL));
695 DFBCHECK(DirectFBCreate(&_dfb));
696
697 DFBCHECK(_dfb->GetDisplayLayer(_dfb, DLID_PRIMARY, &_layer));
698 DFBCHECK(_layer->SetCooperativeLevel(_layer, DLSCL_SHARED));
699
700 /* window events and fd */
701 DFBCHECK(_dfb->CreateEventBuffer(_dfb, &_window_event));
702 DFBCHECK(_window_event->CreateFileDescriptor(_window_event,&_window_event_fd));
703 _window_event_fd_handler_handle = ecore_main_fd_handler_add(_window_event_fd,ECORE_FD_READ,_ecore_directfb_window_event_fd_handler, NULL,NULL,NULL);
704
705 /* register ecore directfb events */
706 ECORE_DIRECTFB_EVENT_POSITION = ecore_event_type_new();
707 ECORE_DIRECTFB_EVENT_SIZE = ecore_event_type_new();
708 ECORE_DIRECTFB_EVENT_CLOSE = ecore_event_type_new();
709 ECORE_DIRECTFB_EVENT_DESTROYED = ecore_event_type_new();
710 ECORE_DIRECTFB_EVENT_GOT_FOCUS = ecore_event_type_new();
711 ECORE_DIRECTFB_EVENT_LOST_FOCUS = ecore_event_type_new();
712 ECORE_DIRECTFB_EVENT_KEY_DOWN = ecore_event_type_new();
713 ECORE_DIRECTFB_EVENT_KEY_UP = ecore_event_type_new();
714 ECORE_DIRECTFB_EVENT_BUTTON_DOWN = ecore_event_type_new();
715 ECORE_DIRECTFB_EVENT_BUTTON_UP = ecore_event_type_new();
716 ECORE_DIRECTFB_EVENT_MOTION = ecore_event_type_new();
717 ECORE_DIRECTFB_EVENT_ENTER = ecore_event_type_new();
718 ECORE_DIRECTFB_EVENT_LEAVE = ecore_event_type_new();
719 ECORE_DIRECTFB_EVENT_WHEEL = ecore_event_type_new();
720
721 /* create the hash table for the keynames */
722 _ecore_directfb_key_symbols_hash = eina_hash_int32_new(free);
723 for(i = 0; i < _ecore_directfb_key_symbols_count; i++)
724 {
725 struct keymap *k;
726 k = malloc(sizeof(struct keymap));
727 k->name = _ecore_directfb_key_symbols[i].name;
728 k->string = _ecore_directfb_key_symbols[i].string;
729 eina_hash_add(_ecore_directfb_key_symbols_hash, &_ecore_directfb_key_symbols[i].id, k);
730 }
731 /* create the hash for the windows(key = windowid, val = Ecore_DirectFB_Window struct) */
732 return _ecore_directfb_init_count;
733} /* ecore_directfb_init */
734
735EAPI int
736ecore_directfb_shutdown(void)
737{
738 if (--_ecore_directfb_init_count != 0)
739 return _ecore_directfb_init_count;
740
741 ecore_main_fd_handler_del(_window_event_fd_handler_handle);
742 eina_hash_free(_ecore_directfb_key_symbols_hash);
743
744 if(_ecore_directfb_fullscreen_window_id)
745 {
746 DFBCHECK(_input_event->Release(_input_event));
747 ecore_main_fd_handler_del(_input_event_fd_handler_handle);
748 }
749
750 DFBCHECK(_window_event->Release(_window_event));
751 DFBCHECK(_layer->Release(_layer));
752 DFBCHECK(_dfb->Release(_dfb));
753 eina_log_domain_unregister(_ecore_directfb_log_dom);
754 _ecore_directfb_log_dom = -1;
755 return _ecore_directfb_init_count;
756} /* ecore_directfb_shutdown */
757
diff --git a/libraries/ecore/src/lib/ecore_directfb/ecore_directfb_keys.h b/libraries/ecore/src/lib/ecore_directfb/ecore_directfb_keys.h
new file mode 100644
index 0000000..19cca46
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_directfb/ecore_directfb_keys.h
@@ -0,0 +1,184 @@
1typedef struct _Ecore_DirectFB_Key_Symbols Ecore_DirectFB_Key_Symbols;
2struct _Ecore_DirectFB_Key_Symbols
3{
4 char *string;
5 char *name;
6 unsigned int id;
7};
8
9static const Ecore_DirectFB_Key_Symbols _ecore_directfb_key_symbols[] = {
10 {"\010", "BackSpace",DIKS_BACKSPACE},
11 {"\011", "Tab", DIKS_TAB},
12 {"\015", "Return", DIKS_RETURN},
13 {"", "Cancel", DIKS_CANCEL},
14 {"", "Escape", DIKS_ESCAPE},
15 {" ", "space", DIKS_SPACE},
16 {"!", "exclam", DIKS_EXCLAMATION_MARK},
17 {"\"", "quotedbl", DIKS_QUOTATION},
18 {"#", "numbersign", DIKS_NUMBER_SIGN},
19 {"$", "dollar", DIKS_DOLLAR_SIGN},
20 {"%", "percent", DIKS_PERCENT_SIGN},
21 {"&", "ampersand", DIKS_AMPERSAND},
22 {"'", "apostrophe", DIKS_APOSTROPHE},
23 {"(", "parenleft", DIKS_PARENTHESIS_LEFT},
24 {")", "parenright", DIKS_PARENTHESIS_RIGHT},
25 {"*", "asterisk", DIKS_ASTERISK},
26 {"+", "plus", DIKS_PLUS_SIGN},
27 {",", "comma", DIKS_COMMA},
28 {"-", "minus", DIKS_MINUS_SIGN},
29 {".", "period", DIKS_PERIOD},
30 {"/", "slash", DIKS_SLASH},
31 {"0", "0", DIKS_0},
32 {"1", "1", DIKS_1},
33 {"2", "2", DIKS_2},
34 {"3", "3", DIKS_3},
35 {"4", "4", DIKS_4},
36 {"5", "5", DIKS_5},
37 {"6", "6", DIKS_6},
38 {"7", "7", DIKS_7},
39 {"8", "8", DIKS_8},
40 {"9", "9", DIKS_9},
41 {":", "colon", DIKS_COLON},
42 {";", "semicolon", DIKS_SEMICOLON},
43 {"<", "less", DIKS_LESS_THAN_SIGN},
44 {"=", "equal", DIKS_EQUALS_SIGN},
45 {">", "greater", DIKS_GREATER_THAN_SIGN},
46 {"?", "question", DIKS_QUESTION_MARK},
47 {"@", "at", DIKS_AT},
48 {"A", "A", DIKS_CAPITAL_A },
49 {"B", "B", DIKS_CAPITAL_B },
50 {"C", "C", DIKS_CAPITAL_C },
51 {"D", "D", DIKS_CAPITAL_D },
52 {"E", "E", DIKS_CAPITAL_E },
53 {"F", "F", DIKS_CAPITAL_F },
54 {"G", "G", DIKS_CAPITAL_G },
55 {"H", "H", DIKS_CAPITAL_H },
56 {"I", "I", DIKS_CAPITAL_I },
57 {"J", "J", DIKS_CAPITAL_J },
58 {"K", "K", DIKS_CAPITAL_K },
59 {"L", "L", DIKS_CAPITAL_L },
60 {"M", "M", DIKS_CAPITAL_M },
61 {"N", "N", DIKS_CAPITAL_N },
62 {"O", "O", DIKS_CAPITAL_O },
63 {"P", "P", DIKS_CAPITAL_P },
64 {"Q", "Q", DIKS_CAPITAL_Q },
65 {"R", "R", DIKS_CAPITAL_R },
66 {"S", "S", DIKS_CAPITAL_S },
67 {"T", "T", DIKS_CAPITAL_T },
68 {"U", "U", DIKS_CAPITAL_U },
69 {"V", "V", DIKS_CAPITAL_V },
70 {"W", "W", DIKS_CAPITAL_W },
71 {"X", "X", DIKS_CAPITAL_X },
72 {"Y", "Y", DIKS_CAPITAL_Y },
73 {"Z", "Z", DIKS_CAPITAL_Z },
74 {"[", "bracketleft", DIKS_SQUARE_BRACKET_LEFT },
75 {"\\", "backslash", DIKS_BACKSLASH },
76 {"]", "bracketright", DIKS_SQUARE_BRACKET_RIGHT },
77 {"^", "asciicircum", DIKS_CIRCUMFLEX_ACCENT },
78 {"_", "underscore", DIKS_UNDERSCORE },
79 {"`", "grave", DIKS_GRAVE_ACCENT},
80 {"a", "a", DIKS_SMALL_A },
81 {"b","b", DIKS_SMALL_B },
82 {"c","c", DIKS_SMALL_C },
83 {"d","d", DIKS_SMALL_D },
84 {"e","e", DIKS_SMALL_E },
85 {"f","f", DIKS_SMALL_F },
86 {"g","g", DIKS_SMALL_G },
87 {"h","h", DIKS_SMALL_H },
88 {"i","i", DIKS_SMALL_I },
89 {"j","j", DIKS_SMALL_J },
90 {"k","k", DIKS_SMALL_K },
91 {"l","l", DIKS_SMALL_L },
92 {"m","m", DIKS_SMALL_M },
93 {"n","n", DIKS_SMALL_N },
94 {"o", "o", DIKS_SMALL_O },
95 {"p", "p", DIKS_SMALL_P },
96 {"q", "q", DIKS_SMALL_Q },
97 {"r", "r", DIKS_SMALL_R },
98 {"s", "s", DIKS_SMALL_S },
99 {"t", "t", DIKS_SMALL_T },
100 {"u", "u", DIKS_SMALL_U },
101 {"v", "v", DIKS_SMALL_V },
102 {"w", "w", DIKS_SMALL_W },
103 {"x", "x", DIKS_SMALL_X },
104 {"y", "y", DIKS_SMALL_Y },
105 {"z", "z", DIKS_SMALL_Z },
106 {"{", "braceleft",DIKS_CURLY_BRACKET_LEFT },
107 {"|", "bar", DIKS_VERTICAL_BAR },
108 {"}", "braceright", DIKS_CURLY_BRACKET_RIGHT },
109 {"~", "asciitilde", DIKS_TILDE },
110 {"\177", "Delete", DIKS_DELETE },
111 {"", "Left", DIKS_CURSOR_LEFT },
112 {"", "Right", DIKS_CURSOR_RIGHT},
113 {"", "Up", DIKS_CURSOR_UP},
114 {"", "Down", DIKS_CURSOR_DOWN},
115 {"", "Insert", DIKS_INSERT},
116 {"", "Home", DIKS_HOME},
117 {"", "End", DIKS_END},
118 {"", "Page_Up", DIKS_PAGE_UP},
119 {"", "Page_Down", DIKS_PAGE_DOWN},
120 {"", "Print", DIKS_PRINT},
121 {"", "Pause", DIKS_PAUSE},
122 /* ok */
123 {"", "Select",DIKS_SELECT},
124 /* goto */
125 {"", "Clear", DIKS_CLEAR},
126 /* power */
127 /* power 2 */
128 /* option */
129 {"", "Menu",DIKS_MENU},
130 {"", "Help",DIKS_HELP},
131 /* info */
132 /* time */
133 /* vendor */
134 /* archive */
135 /* program */
136 /* channel */
137 /* favorites */
138 /* hasta next */
139 {"", "Next",DIKS_NEXT},
140 {"", "Begin",DIKS_BEGIN},
141 /* digits */
142 /* teen */
143 /* twen */
144 {"", "Break", DIKS_BREAK},
145 /* exit */
146 /* setup */
147 {"", "upleftcorner", DIKS_CURSOR_LEFT_UP },
148 {"", "lowleftcorner", DIKS_CURSOR_LEFT_DOWN },
149 {"", "uprightcorner", DIKS_CURSOR_UP_RIGHT },
150 {"", "lowrightcorner",DIKS_CURSOR_DOWN_RIGHT },
151 {"", "F1",DIKS_F1},
152 {"", "F2",DIKS_F2},
153 {"", "F3",DIKS_F3},
154 {"", "F4",DIKS_F4},
155 {"", "F5",DIKS_F5},
156 {"", "F6",DIKS_F6},
157 {"", "F7",DIKS_F7},
158 {"", "F8",DIKS_F8},
159 {"", "F9",DIKS_F9},
160 {"", "F10",DIKS_F10},
161 {"", "F11",DIKS_F11},
162 {"", "F12",DIKS_F12},
163 /* this are only mapped to one, not left right */
164 {"", "Shift_L", DIKS_SHIFT},
165 /*{"Shift_R",0xFFE2},*/
166 {"", "Control_L", DIKS_CONTROL},
167 /*{"Control_R",0xFFE4},*/
168 {"", "Meta_L", DIKS_META},
169 /* {"Meta_R",0xFFE8},*/
170 {"", "Alt_L", DIKS_ALT},
171 {"", "Alt_R", DIKS_ALTGR},
172 {"", "Super_L", DIKS_SUPER},
173 /*{"Super_R",0xFFEC},*/
174 {"", "Hyper_L", DIKS_HYPER},
175 /*{"Hyper_R",0xFFEE},*/
176
177 {"", "Caps_Lock", DIKS_CAPS_LOCK},
178 {"", "Num_Lock", DIKS_NUM_LOCK},
179 {"", "Scroll_Lock", DIKS_SCROLL_LOCK},
180 /* not included the dead keys */
181 /* not included the custom keys */
182 {"", "VoidSymbol", DIKS_NULL}
183};
184static int _ecore_directfb_key_symbols_count = sizeof(_ecore_directfb_key_symbols) / sizeof(Ecore_DirectFB_Key_Symbols);
diff --git a/libraries/ecore/src/lib/ecore_directfb/ecore_directfb_private.h b/libraries/ecore/src/lib/ecore_directfb/ecore_directfb_private.h
new file mode 100644
index 0000000..ed34587
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_directfb/ecore_directfb_private.h
@@ -0,0 +1,52 @@
1#ifndef _ECORE_DIRECTFB_PRIVATE_H
2#define _ECORE_DIRECTFB_PRIVATE_H
3/* eina_log related things */
4
5extern int _ecore_directfb_log_dom;
6
7#ifdef ECORE_DIRECTFB_DEFAULT_LOG_COLOR
8#undef ECORE_DIRECTFB_DEFAULT_LOG_COLOR
9#endif /* ifdef ECORE_DIRECTFB_DEFAULT_LOG_COLOR */
10#define ECORE_DIRECTFB_DEFAULT_LOG_COLOR EINA_COLOR_BLUE
11
12#ifdef ERR
13# undef ERR
14#endif /* ifdef ERR */
15#define ERR(...) EINA_LOG_DOM_ERR(_ecore_directfb_log_dom, __VA_ARGS__)
16
17#ifdef DBG
18# undef DBG
19#endif /* ifdef DBG */
20#define DBG(...) EINA_LOG_DOM_DBG(_ecore_directfb_log_dom, __VA_ARGS__)
21
22#ifdef INF
23# undef INF
24#endif /* ifdef INF */
25#define INF(...) EINA_LOG_DOM_INFO(_ecore_directfb_log_dom, __VA_ARGS__)
26
27#ifdef WRN
28# undef WRN
29#endif /* ifdef WRN */
30#define WRN(...) EINA_LOG_DOM_WARN(_ecore_directfb_log_dom, __VA_ARGS__)
31
32#ifdef CRIT
33# undef CRIT
34#endif /* ifdef CRIT */
35#define CRIT(...) EINA_LOG_DOM_CRIT(_ecore_directfb_log_dom, __VA_ARGS__)
36
37/* macro for a safe call to DirectFB functions */
38#define DFBCHECK(x ...)\
39 {\
40 _err = x;\
41 if (_err != DFB_OK) {\
42 CRIT("%s <%d>:\n\t", __FILE__, __LINE__ );\
43 DirectFBErrorFatal( # x, _err );\
44 }\
45 }
46
47struct keymap
48{
49 char *name;
50 char *string;
51};
52#endif /* ifndef _ECORE_DIRECTFB_PRIVATE_H */