aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/software_16_wince
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/evas/src/modules/engines/software_16_wince
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/evas/src/modules/engines/software_16_wince')
-rw-r--r--libraries/evas/src/modules/engines/software_16_wince/Evas_Engine_Software_16_WinCE.h35
-rw-r--r--libraries/evas/src/modules/engines/software_16_wince/Makefile.am52
-rw-r--r--libraries/evas/src/modules/engines/software_16_wince/Makefile.in898
-rw-r--r--libraries/evas/src/modules/engines/software_16_wince/evas_engine.c770
-rw-r--r--libraries/evas/src/modules/engines/software_16_wince/evas_engine.h120
-rw-r--r--libraries/evas/src/modules/engines/software_16_wince/evas_wince_ddraw_buffer.cpp195
-rw-r--r--libraries/evas/src/modules/engines/software_16_wince/evas_wince_fb_buffer.c210
-rw-r--r--libraries/evas/src/modules/engines/software_16_wince/evas_wince_gapi_buffer.c341
-rw-r--r--libraries/evas/src/modules/engines/software_16_wince/evas_wince_gdi_buffer.c165
9 files changed, 2786 insertions, 0 deletions
diff --git a/libraries/evas/src/modules/engines/software_16_wince/Evas_Engine_Software_16_WinCE.h b/libraries/evas/src/modules/engines/software_16_wince/Evas_Engine_Software_16_WinCE.h
new file mode 100644
index 0000000..e94b7c2
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_wince/Evas_Engine_Software_16_WinCE.h
@@ -0,0 +1,35 @@
1#ifndef __EVAS_ENGINE_SOFTWARE_16_WINCE_H__
2#define __EVAS_ENGINE_SOFTWARE_16_WINCE_H__
3
4
5#include <windows.h>
6
7
8typedef struct _Evas_Engine_Info_Software_16_WinCE Evas_Engine_Info_Software_16_WinCE;
9
10struct _Evas_Engine_Info_Software_16_WinCE
11{
12 /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
13 /* at you and make nasty noises */
14 Evas_Engine_Info magic;
15
16 struct {
17 HWND window;
18 int width;
19 int height;
20 int backend; /* 0: auto, 1: raw, 2: gapi, 3: ddraw, 4: gdi */
21 int rotation;
22 unsigned int fullscreen : 1;
23 } info;
24 /* engine specific function calls to query stuff about messages */
25 struct {
26 int (*suspend) (int backend);
27 int (*resume) (int backend);
28 } func;
29
30 /* non-blocking or blocking mode */
31 Evas_Engine_Render_Mode render_mode;
32};
33
34
35#endif /* __EVAS_ENGINE_SOFTWARE_16_WINCE_H__ */
diff --git a/libraries/evas/src/modules/engines/software_16_wince/Makefile.am b/libraries/evas/src/modules/engines/software_16_wince/Makefile.am
new file mode 100644
index 0000000..7f0c666
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_wince/Makefile.am
@@ -0,0 +1,52 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4AM_CPPFLAGS = \
5-I. \
6-I$(top_srcdir)/src/lib \
7-I$(top_srcdir)/src/lib/include \
8-I$(top_srcdir)/src/modules/engines \
9-I$(top_srcdir)/src/modules/engines/software_16 \
10@EINA_CFLAGS@ \
11@FREETYPE_CFLAGS@ \
12@PIXMAN_CFLAGS@ \
13@evas_engine_software_16_wince_cflags@
14
15if BUILD_ENGINE_SOFTWARE_16_WINCE
16
17SOFTWARE_16_WINCE_SOURCE = \
18evas_engine.c \
19evas_wince_ddraw_buffer.cpp \
20evas_wince_fb_buffer.c \
21evas_wince_gapi_buffer.c \
22evas_wince_gdi_buffer.c
23
24SOFTWARE_16_WINCE_LIBADD = @evas_engine_software_16_wince_libs@
25
26
27includes_HEADERS = Evas_Engine_Software_16_WinCE.h
28includesdir = $(includedir)/evas-@VMAJ@
29
30if !EVAS_STATIC_BUILD_SOFTWARE_16_WINCE
31
32pkgdir = $(libdir)/evas/modules/engines/software_16_wince/$(MODULE_ARCH)
33pkg_LTLIBRARIES = module.la
34
35module_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE)
36module_la_CFLAGS = @WIN32_CFLAGS@
37module_la_CXXFLAGS = -fno-rtti -fno-exceptions
38module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la $(SOFTWARE_16_WINCE_LIBADD)
39module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
40module_la_LIBTOOLFLAGS = --tag=disable-static
41
42else
43
44noinst_LTLIBRARIES = libevas_engine_software_16_wince.la
45
46libevas_engine_software_16_wince_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE)
47libevas_engine_software_16_wince_la_LIBADD = $(SOFTWARE_16_WINCE_LIBADD)
48
49endif
50endif
51
52EXTRA_DIST = evas_engine.h
diff --git a/libraries/evas/src/modules/engines/software_16_wince/Makefile.in b/libraries/evas/src/modules/engines/software_16_wince/Makefile.in
new file mode 100644
index 0000000..571891e
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_wince/Makefile.in
@@ -0,0 +1,898 @@
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/modules/engines/software_16_wince
39DIST_COMMON = $(am__includes_HEADERS_DIST) $(srcdir)/Makefile.am \
40 $(srcdir)/Makefile.in
41ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
42am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \
43 $(top_srcdir)/m4/efl_coverage.m4 \
44 $(top_srcdir)/m4/efl_doxygen.m4 \
45 $(top_srcdir)/m4/efl_fnmatch.m4 \
46 $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \
47 $(top_srcdir)/m4/evas_check_engine.m4 \
48 $(top_srcdir)/m4/evas_check_loader.m4 \
49 $(top_srcdir)/m4/evas_converter.m4 \
50 $(top_srcdir)/m4/evas_dither.m4 \
51 $(top_srcdir)/m4/evas_scaler.m4 $(top_srcdir)/m4/libtool.m4 \
52 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
53 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
54 $(top_srcdir)/configure.ac
55am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
56 $(ACLOCAL_M4)
57mkinstalldirs = $(install_sh) -d
58CONFIG_HEADER = $(top_builddir)/config.h
59CONFIG_CLEAN_FILES =
60CONFIG_CLEAN_VPATH_FILES =
61am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
62am__vpath_adj = case $$p in \
63 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
64 *) f=$$p;; \
65 esac;
66am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
67am__install_max = 40
68am__nobase_strip_setup = \
69 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
70am__nobase_strip = \
71 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
72am__nobase_list = $(am__nobase_strip_setup); \
73 for p in $$list; do echo "$$p $$p"; done | \
74 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
75 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
76 if (++n[$$2] == $(am__install_max)) \
77 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
78 END { for (dir in files) print dir, files[dir] }'
79am__base_list = \
80 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
81 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
82am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includesdir)"
83LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
84am__DEPENDENCIES_1 =
85@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE@libevas_engine_software_16_wince_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
86am__libevas_engine_software_16_wince_la_SOURCES_DIST = evas_engine.c \
87 evas_wince_ddraw_buffer.cpp evas_wince_fb_buffer.c \
88 evas_wince_gapi_buffer.c evas_wince_gdi_buffer.c
89@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@am__objects_1 = evas_engine.lo \
90@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@ evas_wince_ddraw_buffer.lo \
91@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@ evas_wince_fb_buffer.lo \
92@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@ evas_wince_gapi_buffer.lo \
93@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@ evas_wince_gdi_buffer.lo
94@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE@am_libevas_engine_software_16_wince_la_OBJECTS = $(am__objects_1)
95libevas_engine_software_16_wince_la_OBJECTS = \
96 $(am_libevas_engine_software_16_wince_la_OBJECTS)
97AM_V_lt = $(am__v_lt_$(V))
98am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
99am__v_lt_0 = --silent
100@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE@am_libevas_engine_software_16_wince_la_rpath =
101@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la \
102@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@ $(am__DEPENDENCIES_1)
103am__module_la_SOURCES_DIST = evas_engine.c evas_wince_ddraw_buffer.cpp \
104 evas_wince_fb_buffer.c evas_wince_gapi_buffer.c \
105 evas_wince_gdi_buffer.c
106@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@am__objects_2 = \
107@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@ module_la-evas_engine.lo \
108@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@ module_la-evas_wince_ddraw_buffer.lo \
109@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@ module_la-evas_wince_fb_buffer.lo \
110@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@ module_la-evas_wince_gapi_buffer.lo \
111@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@ module_la-evas_wince_gdi_buffer.lo
112@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@am_module_la_OBJECTS = $(am__objects_2)
113module_la_OBJECTS = $(am_module_la_OBJECTS)
114module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
115 $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
116 $(module_la_CXXFLAGS) $(CXXFLAGS) $(module_la_LDFLAGS) \
117 $(LDFLAGS) -o $@
118@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@am_module_la_rpath = -rpath \
119@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@ $(pkgdir)
120DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
121depcomp = $(SHELL) $(top_srcdir)/depcomp
122am__depfiles_maybe = depfiles
123am__mv = mv -f
124COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
125 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
126LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
127 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
128 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
129 $(AM_CFLAGS) $(CFLAGS)
130AM_V_CC = $(am__v_CC_$(V))
131am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
132am__v_CC_0 = @echo " CC " $@;
133AM_V_at = $(am__v_at_$(V))
134am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
135am__v_at_0 = @
136CCLD = $(CC)
137LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
138 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
139 $(AM_LDFLAGS) $(LDFLAGS) -o $@
140AM_V_CCLD = $(am__v_CCLD_$(V))
141am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
142am__v_CCLD_0 = @echo " CCLD " $@;
143CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
144 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
145LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
146 $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
147 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
148 $(AM_CXXFLAGS) $(CXXFLAGS)
149AM_V_CXX = $(am__v_CXX_$(V))
150am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
151am__v_CXX_0 = @echo " CXX " $@;
152CXXLD = $(CXX)
153CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
154 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
155 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
156AM_V_CXXLD = $(am__v_CXXLD_$(V))
157am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
158am__v_CXXLD_0 = @echo " CXXLD " $@;
159AM_V_GEN = $(am__v_GEN_$(V))
160am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
161am__v_GEN_0 = @echo " GEN " $@;
162SOURCES = $(libevas_engine_software_16_wince_la_SOURCES) \
163 $(module_la_SOURCES)
164DIST_SOURCES = \
165 $(am__libevas_engine_software_16_wince_la_SOURCES_DIST) \
166 $(am__module_la_SOURCES_DIST)
167am__includes_HEADERS_DIST = Evas_Engine_Software_16_WinCE.h
168HEADERS = $(includes_HEADERS)
169ETAGS = etags
170CTAGS = ctags
171DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
172ACLOCAL = @ACLOCAL@
173ALLOCA = @ALLOCA@
174AMTAR = @AMTAR@
175AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
176AR = @AR@
177AS = @AS@
178AUTOCONF = @AUTOCONF@
179AUTOHEADER = @AUTOHEADER@
180AUTOMAKE = @AUTOMAKE@
181AWK = @AWK@
182CC = @CC@
183CCDEPMODE = @CCDEPMODE@
184CFLAGS = @CFLAGS@
185CHECK_CFLAGS = @CHECK_CFLAGS@
186CHECK_LIBS = @CHECK_LIBS@
187CPP = @CPP@
188CPPFLAGS = @CPPFLAGS@
189CXX = @CXX@
190CXXCPP = @CXXCPP@
191CXXDEPMODE = @CXXDEPMODE@
192CXXFLAGS = @CXXFLAGS@
193CYGPATH_W = @CYGPATH_W@
194DEFS = @DEFS@
195DEPDIR = @DEPDIR@
196DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
197DIRECTFB_LIBS = @DIRECTFB_LIBS@
198DLLTOOL = @DLLTOOL@
199DSYMUTIL = @DSYMUTIL@
200DUMPBIN = @DUMPBIN@
201ECHO_C = @ECHO_C@
202ECHO_N = @ECHO_N@
203ECHO_T = @ECHO_T@
204ECORE_EVAS_CFLAGS = @ECORE_EVAS_CFLAGS@
205ECORE_EVAS_LIBS = @ECORE_EVAS_LIBS@
206EDB_CFLAGS = @EDB_CFLAGS@
207EDB_LIBS = @EDB_LIBS@
208EDJE_CFLAGS = @EDJE_CFLAGS@
209EDJE_LIBS = @EDJE_LIBS@
210EET_CFLAGS = @EET_CFLAGS@
211EET_LIBS = @EET_LIBS@
212EFL_COVERAGE_CFLAGS = @EFL_COVERAGE_CFLAGS@
213EFL_COVERAGE_LIBS = @EFL_COVERAGE_LIBS@
214EFL_FNMATCH_LIBS = @EFL_FNMATCH_LIBS@
215EGREP = @EGREP@
216EINA_CFLAGS = @EINA_CFLAGS@
217EINA_LIBS = @EINA_LIBS@
218EVAS_CFLAGS = @EVAS_CFLAGS@
219EVAS_LIBS = @EVAS_LIBS@
220EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
221EVIL_CFLAGS = @EVIL_CFLAGS@
222EVIL_LIBS = @EVIL_LIBS@
223EXEEXT = @EXEEXT@
224FGREP = @FGREP@
225FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
226FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
227FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
228FREETYPE_LIBS = @FREETYPE_LIBS@
229FRIBIDI_CFLAGS = @FRIBIDI_CFLAGS@
230FRIBIDI_LIBS = @FRIBIDI_LIBS@
231GL_EET_CFLAGS = @GL_EET_CFLAGS@
232GL_EET_LIBS = @GL_EET_LIBS@
233GREP = @GREP@
234HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@
235HARFBUZZ_LIBS = @HARFBUZZ_LIBS@
236INSTALL = @INSTALL@
237INSTALL_DATA = @INSTALL_DATA@
238INSTALL_PROGRAM = @INSTALL_PROGRAM@
239INSTALL_SCRIPT = @INSTALL_SCRIPT@
240INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
241LD = @LD@
242LDFLAGS = @LDFLAGS@
243LIBOBJS = @LIBOBJS@
244LIBS = @LIBS@
245LIBTOOL = @LIBTOOL@
246LINEBREAK_CFLAGS = @LINEBREAK_CFLAGS@
247LINEBREAK_LIBS = @LINEBREAK_LIBS@
248LIPO = @LIPO@
249LN_S = @LN_S@
250LTLIBOBJS = @LTLIBOBJS@
251MAKEINFO = @MAKEINFO@
252MKDIR_P = @MKDIR_P@
253MODULE_ARCH = @MODULE_ARCH@
254NM = @NM@
255NMEDIT = @NMEDIT@
256OBJC = @OBJC@
257OBJCDEPMODE = @OBJCDEPMODE@
258OBJCFLAGS = @OBJCFLAGS@
259OBJDUMP = @OBJDUMP@
260OBJEXT = @OBJEXT@
261OTOOL = @OTOOL@
262OTOOL64 = @OTOOL64@
263PACKAGE = @PACKAGE@
264PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
265PACKAGE_NAME = @PACKAGE_NAME@
266PACKAGE_STRING = @PACKAGE_STRING@
267PACKAGE_TARNAME = @PACKAGE_TARNAME@
268PACKAGE_URL = @PACKAGE_URL@
269PACKAGE_VERSION = @PACKAGE_VERSION@
270PATH_SEPARATOR = @PATH_SEPARATOR@
271PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
272PIXMAN_LIBS = @PIXMAN_LIBS@
273PKG_CONFIG = @PKG_CONFIG@
274PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
275PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
276PNG_CFLAGS = @PNG_CFLAGS@
277PNG_LIBS = @PNG_LIBS@
278RANLIB = @RANLIB@
279SDL_CFLAGS = @SDL_CFLAGS@
280SDL_LIBS = @SDL_LIBS@
281SED = @SED@
282SET_MAKE = @SET_MAKE@
283SHELL = @SHELL@
284SHM_OPEN_LINK = @SHM_OPEN_LINK@
285STRIP = @STRIP@
286SVG_CFLAGS = @SVG_CFLAGS@
287SVG_LIBS = @SVG_LIBS@
288VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
289VALGRIND_LIBS = @VALGRIND_LIBS@
290VERSION = @VERSION@
291VMAJ = @VMAJ@
292WIN32_CFLAGS = @WIN32_CFLAGS@
293WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
294XCB_CFLAGS = @XCB_CFLAGS@
295XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
296XCB_GL_LIBS = @XCB_GL_LIBS@
297XCB_LIBS = @XCB_LIBS@
298XEXT_CFLAGS = @XEXT_CFLAGS@
299XEXT_LIBS = @XEXT_LIBS@
300XMKMF = @XMKMF@
301X_CFLAGS = @X_CFLAGS@
302X_EXTRA_LIBS = @X_EXTRA_LIBS@
303X_LIBS = @X_LIBS@
304X_PRE_LIBS = @X_PRE_LIBS@
305abs_builddir = @abs_builddir@
306abs_srcdir = @abs_srcdir@
307abs_top_builddir = @abs_top_builddir@
308abs_top_srcdir = @abs_top_srcdir@
309ac_ct_CC = @ac_ct_CC@
310ac_ct_CXX = @ac_ct_CXX@
311ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
312ac_ct_OBJC = @ac_ct_OBJC@
313altivec_cflags = @altivec_cflags@
314am__include = @am__include@
315am__leading_dot = @am__leading_dot@
316am__quote = @am__quote@
317am__tar = @am__tar@
318am__untar = @am__untar@
319bindir = @bindir@
320build = @build@
321build_alias = @build_alias@
322build_cpu = @build_cpu@
323build_os = @build_os@
324build_vendor = @build_vendor@
325builddir = @builddir@
326datadir = @datadir@
327datarootdir = @datarootdir@
328dlopen_libs = @dlopen_libs@
329docdir = @docdir@
330dvidir = @dvidir@
331edje_cc = @edje_cc@
332efl_doxygen = @efl_doxygen@
333efl_have_doxygen = @efl_have_doxygen@
334evas_engine_buffer_cflags = @evas_engine_buffer_cflags@
335evas_engine_buffer_libs = @evas_engine_buffer_libs@
336evas_engine_direct3d_cflags = @evas_engine_direct3d_cflags@
337evas_engine_direct3d_libs = @evas_engine_direct3d_libs@
338evas_engine_directfb_cflags = @evas_engine_directfb_cflags@
339evas_engine_directfb_libs = @evas_engine_directfb_libs@
340evas_engine_fb_cflags = @evas_engine_fb_cflags@
341evas_engine_fb_libs = @evas_engine_fb_libs@
342evas_engine_gl_cocoa_cflags = @evas_engine_gl_cocoa_cflags@
343evas_engine_gl_cocoa_libs = @evas_engine_gl_cocoa_libs@
344evas_engine_gl_common_libs = @evas_engine_gl_common_libs@
345evas_engine_gl_sdl_cflags = @evas_engine_gl_sdl_cflags@
346evas_engine_gl_sdl_libs = @evas_engine_gl_sdl_libs@
347evas_engine_gl_xcb_cflags = @evas_engine_gl_xcb_cflags@
348evas_engine_gl_xcb_libs = @evas_engine_gl_xcb_libs@
349evas_engine_gl_xlib_cflags = @evas_engine_gl_xlib_cflags@
350evas_engine_gl_xlib_libs = @evas_engine_gl_xlib_libs@
351evas_engine_psl1ght_cflags = @evas_engine_psl1ght_cflags@
352evas_engine_psl1ght_libs = @evas_engine_psl1ght_libs@
353evas_engine_software_16_ddraw_cflags = @evas_engine_software_16_ddraw_cflags@
354evas_engine_software_16_ddraw_libs = @evas_engine_software_16_ddraw_libs@
355evas_engine_software_16_sdl_cflags = @evas_engine_software_16_sdl_cflags@
356evas_engine_software_16_sdl_libs = @evas_engine_software_16_sdl_libs@
357evas_engine_software_16_wince_cflags = @evas_engine_software_16_wince_cflags@
358evas_engine_software_16_wince_libs = @evas_engine_software_16_wince_libs@
359evas_engine_software_16_x11_cflags = @evas_engine_software_16_x11_cflags@
360evas_engine_software_16_x11_libs = @evas_engine_software_16_x11_libs@
361evas_engine_software_8_x11_cflags = @evas_engine_software_8_x11_cflags@
362evas_engine_software_8_x11_libs = @evas_engine_software_8_x11_libs@
363evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
364evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
365evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
366evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
367evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
368evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
369evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
370evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
371evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
372evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
373evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@
374evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@
375evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@
376evas_image_loader_edb_libs = @evas_image_loader_edb_libs@
377evas_image_loader_eet_cflags = @evas_image_loader_eet_cflags@
378evas_image_loader_eet_libs = @evas_image_loader_eet_libs@
379evas_image_loader_generic_cflags = @evas_image_loader_generic_cflags@
380evas_image_loader_generic_libs = @evas_image_loader_generic_libs@
381evas_image_loader_gif_cflags = @evas_image_loader_gif_cflags@
382evas_image_loader_gif_libs = @evas_image_loader_gif_libs@
383evas_image_loader_ico_cflags = @evas_image_loader_ico_cflags@
384evas_image_loader_ico_libs = @evas_image_loader_ico_libs@
385evas_image_loader_jpeg_cflags = @evas_image_loader_jpeg_cflags@
386evas_image_loader_jpeg_libs = @evas_image_loader_jpeg_libs@
387evas_image_loader_pmaps_cflags = @evas_image_loader_pmaps_cflags@
388evas_image_loader_pmaps_libs = @evas_image_loader_pmaps_libs@
389evas_image_loader_png_cflags = @evas_image_loader_png_cflags@
390evas_image_loader_png_libs = @evas_image_loader_png_libs@
391evas_image_loader_psd_cflags = @evas_image_loader_psd_cflags@
392evas_image_loader_psd_libs = @evas_image_loader_psd_libs@
393evas_image_loader_svg_cflags = @evas_image_loader_svg_cflags@
394evas_image_loader_svg_libs = @evas_image_loader_svg_libs@
395evas_image_loader_tga_cflags = @evas_image_loader_tga_cflags@
396evas_image_loader_tga_libs = @evas_image_loader_tga_libs@
397evas_image_loader_tiff_cflags = @evas_image_loader_tiff_cflags@
398evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
399evas_image_loader_wbmp_cflags = @evas_image_loader_wbmp_cflags@
400evas_image_loader_wbmp_libs = @evas_image_loader_wbmp_libs@
401evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
402evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
403exec_prefix = @exec_prefix@
404have_evas_engine_gl_x11 = @have_evas_engine_gl_x11@
405have_evas_engine_gl_xcb = @have_evas_engine_gl_xcb@
406have_evas_engine_gl_xlib = @have_evas_engine_gl_xlib@
407have_evas_engine_software_x11 = @have_evas_engine_software_x11@
408have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
409have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
410have_lcov = @have_lcov@
411host = @host@
412host_alias = @host_alias@
413host_cpu = @host_cpu@
414host_os = @host_os@
415host_vendor = @host_vendor@
416htmldir = @htmldir@
417includedir = @includedir@
418infodir = @infodir@
419install_sh = @install_sh@
420libdir = @libdir@
421libexecdir = @libexecdir@
422localedir = @localedir@
423localstatedir = @localstatedir@
424lt_ECHO = @lt_ECHO@
425lt_enable_auto_import = @lt_enable_auto_import@
426mandir = @mandir@
427mkdir_p = @mkdir_p@
428oldincludedir = @oldincludedir@
429pdfdir = @pdfdir@
430pkgconfig_requires_private = @pkgconfig_requires_private@
431prefix = @prefix@
432program_transform_name = @program_transform_name@
433psdir = @psdir@
434pthread_cflags = @pthread_cflags@
435pthread_libs = @pthread_libs@
436release_info = @release_info@
437requirement_evas = @requirement_evas@
438sbindir = @sbindir@
439sharedstatedir = @sharedstatedir@
440srcdir = @srcdir@
441sysconfdir = @sysconfdir@
442target_alias = @target_alias@
443top_build_prefix = @top_build_prefix@
444top_builddir = @top_builddir@
445top_srcdir = @top_srcdir@
446version_info = @version_info@
447MAINTAINERCLEANFILES = Makefile.in
448AM_CPPFLAGS = \
449-I. \
450-I$(top_srcdir)/src/lib \
451-I$(top_srcdir)/src/lib/include \
452-I$(top_srcdir)/src/modules/engines \
453-I$(top_srcdir)/src/modules/engines/software_16 \
454@EINA_CFLAGS@ \
455@FREETYPE_CFLAGS@ \
456@PIXMAN_CFLAGS@ \
457@evas_engine_software_16_wince_cflags@
458
459@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@SOFTWARE_16_WINCE_SOURCE = \
460@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@evas_engine.c \
461@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@evas_wince_ddraw_buffer.cpp \
462@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@evas_wince_fb_buffer.c \
463@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@evas_wince_gapi_buffer.c \
464@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@evas_wince_gdi_buffer.c
465
466@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@SOFTWARE_16_WINCE_LIBADD = @evas_engine_software_16_wince_libs@
467@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@includes_HEADERS = Evas_Engine_Software_16_WinCE.h
468@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@includesdir = $(includedir)/evas-@VMAJ@
469@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16_wince/$(MODULE_ARCH)
470@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@pkg_LTLIBRARIES = module.la
471@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE)
472@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_CFLAGS = @WIN32_CFLAGS@
473@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_CXXFLAGS = -fno-rtti -fno-exceptions
474@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la $(SOFTWARE_16_WINCE_LIBADD)
475@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
476@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static
477@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE@noinst_LTLIBRARIES = libevas_engine_software_16_wince.la
478@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE@libevas_engine_software_16_wince_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE)
479@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE@libevas_engine_software_16_wince_la_LIBADD = $(SOFTWARE_16_WINCE_LIBADD)
480EXTRA_DIST = evas_engine.h
481all: all-am
482
483.SUFFIXES:
484.SUFFIXES: .c .cpp .lo .o .obj
485$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
486 @for dep in $?; do \
487 case '$(am__configure_deps)' in \
488 *$$dep*) \
489 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
490 && { if test -f $@; then exit 0; else break; fi; }; \
491 exit 1;; \
492 esac; \
493 done; \
494 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/engines/software_16_wince/Makefile'; \
495 $(am__cd) $(top_srcdir) && \
496 $(AUTOMAKE) --gnu src/modules/engines/software_16_wince/Makefile
497.PRECIOUS: Makefile
498Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
499 @case '$?' in \
500 *config.status*) \
501 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
502 *) \
503 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
504 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
505 esac;
506
507$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
508 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
509
510$(top_srcdir)/configure: $(am__configure_deps)
511 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
512$(ACLOCAL_M4): $(am__aclocal_m4_deps)
513 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
514$(am__aclocal_m4_deps):
515
516clean-noinstLTLIBRARIES:
517 -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
518 @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
519 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
520 test "$$dir" != "$$p" || dir=.; \
521 echo "rm -f \"$${dir}/so_locations\""; \
522 rm -f "$${dir}/so_locations"; \
523 done
524install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
525 @$(NORMAL_INSTALL)
526 test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
527 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || 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)$(pkgdir)'"; \
535 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
536 }
537
538uninstall-pkgLTLIBRARIES:
539 @$(NORMAL_UNINSTALL)
540 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
541 for p in $$list; do \
542 $(am__strip_dir) \
543 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgdir)/$$f'"; \
544 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgdir)/$$f"; \
545 done
546
547clean-pkgLTLIBRARIES:
548 -test -z "$(pkg_LTLIBRARIES)" || rm -f $(pkg_LTLIBRARIES)
549 @list='$(pkg_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
555libevas_engine_software_16_wince.la: $(libevas_engine_software_16_wince_la_OBJECTS) $(libevas_engine_software_16_wince_la_DEPENDENCIES)
556 $(AM_V_CXXLD)$(CXXLINK) $(am_libevas_engine_software_16_wince_la_rpath) $(libevas_engine_software_16_wince_la_OBJECTS) $(libevas_engine_software_16_wince_la_LIBADD) $(LIBS)
557module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES)
558 $(AM_V_CXXLD)$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
559
560mostlyclean-compile:
561 -rm -f *.$(OBJEXT)
562
563distclean-compile:
564 -rm -f *.tab.c
565
566@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_engine.Plo@am__quote@
567@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_wince_ddraw_buffer.Plo@am__quote@
568@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_wince_fb_buffer.Plo@am__quote@
569@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_wince_gapi_buffer.Plo@am__quote@
570@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_wince_gdi_buffer.Plo@am__quote@
571@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_engine.Plo@am__quote@
572@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_wince_ddraw_buffer.Plo@am__quote@
573@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_wince_fb_buffer.Plo@am__quote@
574@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_wince_gapi_buffer.Plo@am__quote@
575@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_wince_gdi_buffer.Plo@am__quote@
576
577.c.o:
578@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
579@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
580@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
581@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
582@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
583@am__fastdepCC_FALSE@ $(COMPILE) -c $<
584
585.c.obj:
586@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
587@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
588@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
589@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
590@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
591@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
592
593.c.lo:
594@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
595@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
596@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
597@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
598@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
599@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
600
601module_la-evas_engine.lo: evas_engine.c
602@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -MT module_la-evas_engine.lo -MD -MP -MF $(DEPDIR)/module_la-evas_engine.Tpo -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c
603@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_engine.Tpo $(DEPDIR)/module_la-evas_engine.Plo
604@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
605@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_engine.c' object='module_la-evas_engine.lo' libtool=yes @AMDEPBACKSLASH@
606@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
607@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c
608
609module_la-evas_wince_fb_buffer.lo: evas_wince_fb_buffer.c
610@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_fb_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_fb_buffer.Tpo -c -o module_la-evas_wince_fb_buffer.lo `test -f 'evas_wince_fb_buffer.c' || echo '$(srcdir)/'`evas_wince_fb_buffer.c
611@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_fb_buffer.Tpo $(DEPDIR)/module_la-evas_wince_fb_buffer.Plo
612@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
613@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_wince_fb_buffer.c' object='module_la-evas_wince_fb_buffer.lo' libtool=yes @AMDEPBACKSLASH@
614@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
615@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_fb_buffer.lo `test -f 'evas_wince_fb_buffer.c' || echo '$(srcdir)/'`evas_wince_fb_buffer.c
616
617module_la-evas_wince_gapi_buffer.lo: evas_wince_gapi_buffer.c
618@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_gapi_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_gapi_buffer.Tpo -c -o module_la-evas_wince_gapi_buffer.lo `test -f 'evas_wince_gapi_buffer.c' || echo '$(srcdir)/'`evas_wince_gapi_buffer.c
619@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_gapi_buffer.Tpo $(DEPDIR)/module_la-evas_wince_gapi_buffer.Plo
620@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
621@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_wince_gapi_buffer.c' object='module_la-evas_wince_gapi_buffer.lo' libtool=yes @AMDEPBACKSLASH@
622@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
623@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_gapi_buffer.lo `test -f 'evas_wince_gapi_buffer.c' || echo '$(srcdir)/'`evas_wince_gapi_buffer.c
624
625module_la-evas_wince_gdi_buffer.lo: evas_wince_gdi_buffer.c
626@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_gdi_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_gdi_buffer.Tpo -c -o module_la-evas_wince_gdi_buffer.lo `test -f 'evas_wince_gdi_buffer.c' || echo '$(srcdir)/'`evas_wince_gdi_buffer.c
627@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_gdi_buffer.Tpo $(DEPDIR)/module_la-evas_wince_gdi_buffer.Plo
628@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
629@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_wince_gdi_buffer.c' object='module_la-evas_wince_gdi_buffer.lo' libtool=yes @AMDEPBACKSLASH@
630@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
631@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_gdi_buffer.lo `test -f 'evas_wince_gdi_buffer.c' || echo '$(srcdir)/'`evas_wince_gdi_buffer.c
632
633.cpp.o:
634@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
635@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
636@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
637@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
638@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
639@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
640
641.cpp.obj:
642@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
643@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
644@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
645@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
646@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
647@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
648
649.cpp.lo:
650@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
651@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
652@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
653@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
654@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
655@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
656
657module_la-evas_wince_ddraw_buffer.lo: evas_wince_ddraw_buffer.cpp
658@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CXXFLAGS) $(CXXFLAGS) -MT module_la-evas_wince_ddraw_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_ddraw_buffer.Tpo -c -o module_la-evas_wince_ddraw_buffer.lo `test -f 'evas_wince_ddraw_buffer.cpp' || echo '$(srcdir)/'`evas_wince_ddraw_buffer.cpp
659@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_ddraw_buffer.Tpo $(DEPDIR)/module_la-evas_wince_ddraw_buffer.Plo
660@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
661@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='evas_wince_ddraw_buffer.cpp' object='module_la-evas_wince_ddraw_buffer.lo' libtool=yes @AMDEPBACKSLASH@
662@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
663@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CXXFLAGS) $(CXXFLAGS) -c -o module_la-evas_wince_ddraw_buffer.lo `test -f 'evas_wince_ddraw_buffer.cpp' || echo '$(srcdir)/'`evas_wince_ddraw_buffer.cpp
664
665mostlyclean-libtool:
666 -rm -f *.lo
667
668clean-libtool:
669 -rm -rf .libs _libs
670install-includesHEADERS: $(includes_HEADERS)
671 @$(NORMAL_INSTALL)
672 test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
673 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
674 for p in $$list; do \
675 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
676 echo "$$d$$p"; \
677 done | $(am__base_list) | \
678 while read files; do \
679 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
680 $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
681 done
682
683uninstall-includesHEADERS:
684 @$(NORMAL_UNINSTALL)
685 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
686 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
687 test -n "$$files" || exit 0; \
688 echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
689 cd "$(DESTDIR)$(includesdir)" && rm -f $$files
690
691ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
692 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
693 unique=`for i in $$list; do \
694 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
695 done | \
696 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
697 END { if (nonempty) { for (i in files) print i; }; }'`; \
698 mkid -fID $$unique
699tags: TAGS
700
701TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
702 $(TAGS_FILES) $(LISP)
703 set x; \
704 here=`pwd`; \
705 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
706 unique=`for i in $$list; do \
707 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
708 done | \
709 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
710 END { if (nonempty) { for (i in files) print i; }; }'`; \
711 shift; \
712 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
713 test -n "$$unique" || unique=$$empty_fix; \
714 if test $$# -gt 0; then \
715 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
716 "$$@" $$unique; \
717 else \
718 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
719 $$unique; \
720 fi; \
721 fi
722ctags: CTAGS
723CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
724 $(TAGS_FILES) $(LISP)
725 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
726 unique=`for i in $$list; do \
727 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
728 done | \
729 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
730 END { if (nonempty) { for (i in files) print i; }; }'`; \
731 test -z "$(CTAGS_ARGS)$$unique" \
732 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
733 $$unique
734
735GTAGS:
736 here=`$(am__cd) $(top_builddir) && pwd` \
737 && $(am__cd) $(top_srcdir) \
738 && gtags -i $(GTAGS_ARGS) "$$here"
739
740distclean-tags:
741 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
742
743distdir: $(DISTFILES)
744 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
745 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
746 list='$(DISTFILES)'; \
747 dist_files=`for file in $$list; do echo $$file; done | \
748 sed -e "s|^$$srcdirstrip/||;t" \
749 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
750 case $$dist_files in \
751 */*) $(MKDIR_P) `echo "$$dist_files" | \
752 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
753 sort -u` ;; \
754 esac; \
755 for file in $$dist_files; do \
756 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
757 if test -d $$d/$$file; then \
758 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
759 if test -d "$(distdir)/$$file"; then \
760 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
761 fi; \
762 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
763 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
764 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
765 fi; \
766 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
767 else \
768 test -f "$(distdir)/$$file" \
769 || cp -p $$d/$$file "$(distdir)/$$file" \
770 || exit 1; \
771 fi; \
772 done
773check-am: all-am
774check: check-am
775all-am: Makefile $(LTLIBRARIES) $(HEADERS)
776installdirs:
777 for dir in "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includesdir)"; do \
778 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
779 done
780install: install-am
781install-exec: install-exec-am
782install-data: install-data-am
783uninstall: uninstall-am
784
785install-am: all-am
786 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
787
788installcheck: installcheck-am
789install-strip:
790 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
791 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
792 `test -z '$(STRIP)' || \
793 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
794mostlyclean-generic:
795
796clean-generic:
797
798distclean-generic:
799 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
800 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
801
802maintainer-clean-generic:
803 @echo "This command is intended for maintainers to use"
804 @echo "it deletes files that may require special tools to rebuild."
805 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
806clean: clean-am
807
808clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
809 clean-pkgLTLIBRARIES mostlyclean-am
810
811distclean: distclean-am
812 -rm -rf ./$(DEPDIR)
813 -rm -f Makefile
814distclean-am: clean-am distclean-compile distclean-generic \
815 distclean-tags
816
817dvi: dvi-am
818
819dvi-am:
820
821html: html-am
822
823html-am:
824
825info: info-am
826
827info-am:
828
829install-data-am: install-includesHEADERS install-pkgLTLIBRARIES
830
831install-dvi: install-dvi-am
832
833install-dvi-am:
834
835install-exec-am:
836
837install-html: install-html-am
838
839install-html-am:
840
841install-info: install-info-am
842
843install-info-am:
844
845install-man:
846
847install-pdf: install-pdf-am
848
849install-pdf-am:
850
851install-ps: install-ps-am
852
853install-ps-am:
854
855installcheck-am:
856
857maintainer-clean: maintainer-clean-am
858 -rm -rf ./$(DEPDIR)
859 -rm -f Makefile
860maintainer-clean-am: distclean-am maintainer-clean-generic
861
862mostlyclean: mostlyclean-am
863
864mostlyclean-am: mostlyclean-compile mostlyclean-generic \
865 mostlyclean-libtool
866
867pdf: pdf-am
868
869pdf-am:
870
871ps: ps-am
872
873ps-am:
874
875uninstall-am: uninstall-includesHEADERS uninstall-pkgLTLIBRARIES
876
877.MAKE: install-am install-strip
878
879.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
880 clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
881 ctags distclean distclean-compile distclean-generic \
882 distclean-libtool distclean-tags distdir dvi dvi-am html \
883 html-am info info-am install install-am install-data \
884 install-data-am install-dvi install-dvi-am install-exec \
885 install-exec-am install-html install-html-am \
886 install-includesHEADERS install-info install-info-am \
887 install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
888 install-ps install-ps-am install-strip installcheck \
889 installcheck-am installdirs maintainer-clean \
890 maintainer-clean-generic mostlyclean mostlyclean-compile \
891 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
892 tags uninstall uninstall-am uninstall-includesHEADERS \
893 uninstall-pkgLTLIBRARIES
894
895
896# Tell versions [3.59,3.63) of GNU make to not export all variables.
897# Otherwise a system limit (for SysV at least) may be exceeded.
898.NOEXPORT:
diff --git a/libraries/evas/src/modules/engines/software_16_wince/evas_engine.c b/libraries/evas/src/modules/engines/software_16_wince/evas_engine.c
new file mode 100644
index 0000000..74d56e6
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_wince/evas_engine.c
@@ -0,0 +1,770 @@
1#include "evas_common.h"
2#include "evas_private.h"
3#include "evas_engine.h"
4#include "Evas_Engine_Software_16_WinCE.h"
5#include "evas_common_soft16.h"
6
7int _evas_engine_soft16_wince_log_dom = -1;
8
9typedef enum
10{
11 EVAS_ENGINE_WINCE_FB,
12 EVAS_ENGINE_WINCE_GAPI,
13 EVAS_ENGINE_WINCE_DDRAW,
14 EVAS_ENGINE_WINCE_GDI
15} Evas_Engine_WinCE_Backend;
16
17
18/* function tables - filled in later (func and parent func) */
19static Evas_Func func, pfunc;
20
21/* engine struct data */
22typedef struct _Render_Engine Render_Engine;
23
24struct _Render_Engine
25{
26 Evas_Engine_WinCE_Backend backend; /* 1: raw, 2: gapi, 3: ddraw, 4: GDI */
27 void *backend_priv;
28 void (*backend_shutdown)(void *priv);
29 FB_Output_Buffer *(*backend_output_buffer_new)(void *priv,
30 int width,
31 int height);
32 void (*backend_output_buffer_free)(FB_Output_Buffer *fbob);
33 void (*backend_output_buffer_paste)(FB_Output_Buffer *fbob);
34 void (*backend_surface_resize)(FB_Output_Buffer *fbob);
35
36 int width;
37 int height;
38 int rotation;
39 Tilebuf *tb;
40 Tilebuf_Rect *rects;
41 Tilebuf_Rect *cur_rect;
42 FB_Output_Buffer *fbob;
43 Soft16_Image *tmp_out; /* used by indirect render, like rotation */
44 HRGN clip_rects;
45 unsigned char end : 1;
46};
47
48/* prototypes we will use here */
49
50static void *eng_info(Evas *e);
51static void eng_info_free(Evas *e, void *info);
52static int eng_setup(Evas *e, void *info);
53static void eng_output_free(void *data);
54static void eng_output_resize(void *data, int w, int h);
55static void eng_output_tile_size_set(void *data, int w, int h);
56static void eng_output_redraws_rect_add(void *data, int x, int y, int w, int h);
57static void eng_output_redraws_rect_del(void *data, int x, int y, int w, int h);
58static void eng_output_redraws_clear(void *data);
59static void *eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch);
60static void eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h);
61static void eng_output_flush(void *data);
62static void eng_output_idle_flush(void *data);
63
64static int
65_suspend(int backend)
66{
67 switch (backend)
68 {
69 case 2: /* gapi */
70 return evas_software_wince_gapi_suspend();
71 default: /* other engines do not need it */
72 return 0;
73 }
74}
75
76static int
77_resume(int backend)
78{
79 switch (backend)
80 {
81 case 2: /* gapi */
82 return evas_software_wince_gapi_resume();
83 default: /* other engines do not need it */
84 return 0;
85 }
86}
87
88/* engine api this module provides */
89static void *
90eng_info(Evas *e)
91{
92 Evas_Engine_Info_Software_16_WinCE *info;
93 info = calloc(1, sizeof(Evas_Engine_Info_Software_16_WinCE));
94 if (!info) return NULL;
95 info->magic.magic = rand();
96 info->func.suspend = _suspend;
97 info->func.resume = _resume;
98 info->render_mode = EVAS_RENDER_MODE_BLOCKING;
99 return info;
100 e = NULL;
101}
102
103static void
104eng_info_free(Evas *e, void *info)
105{
106 Evas_Engine_Info_Software_16_WinCE *in;
107 in = (Evas_Engine_Info_Software_16_WinCE *)info;
108 free(in);
109}
110
111static void
112_tmp_out_alloc(Render_Engine *re)
113{
114 Tilebuf_Rect *r;
115 int w = 0, h = 0;
116
117 EINA_INLIST_FOREACH(re->rects, r)
118 {
119 if (r->w > w) w = r->w;
120 if (r->h > h) h = r->h;
121 }
122
123 if (re->tmp_out)
124 {
125 if ((re->tmp_out->cache_entry.w < w) || (re->tmp_out->cache_entry.h < h))
126 {
127 evas_cache_image_drop(&re->tmp_out->cache_entry);
128 re->tmp_out = NULL;
129 }
130 }
131
132 if (!re->tmp_out)
133 {
134 Soft16_Image *im;
135
136 im = (Soft16_Image *) evas_cache_image_empty(evas_common_soft16_image_cache_get());
137 im->cache_entry.flags.alpha = 0;
138 evas_cache_image_surface_alloc(&im->cache_entry, w, h);
139
140 re->tmp_out = im;
141 }
142}
143
144
145static int
146eng_setup(Evas *e, void *in)
147{
148 Render_Engine *re;
149 Evas_Engine_Info_Software_16_WinCE *info;
150
151 info = (Evas_Engine_Info_Software_16_WinCE *)in;
152 if (!e->engine.data.output)
153 {
154 /* do common routine init - we wil at least use it for core
155 * image loading and font loading/glyph rendering & placement */
156 evas_common_cpu_init();
157
158 evas_common_blend_init();
159 evas_common_image_init();
160 evas_common_convert_init();
161 evas_common_scale_init();
162 evas_common_rectangle_init();
163 evas_common_polygon_init();
164 evas_common_line_init();
165 evas_common_font_init();
166 evas_common_draw_init();
167 evas_common_tilebuf_init();
168 evas_common_soft16_image_init();
169
170 /* render engine specific data */
171 re = calloc(1, sizeof(Render_Engine));
172 if (!re)
173 return 0;
174 e->engine.data.output = re;
175
176 switch(info->info.backend)
177 {
178 case 1: /* FB */
179 re->backend = EVAS_ENGINE_WINCE_FB;
180 re->backend_priv = evas_software_wince_fb_init(info->info.window, info->info.width, info->info.height);
181 if (!re->backend_priv)
182 {
183 free(re);
184 return 0;
185 }
186 re->backend_shutdown = evas_software_wince_fb_shutdown;
187 re->backend_output_buffer_new = evas_software_wince_fb_output_buffer_new;
188 re->backend_output_buffer_free = evas_software_wince_fb_output_buffer_free;
189 re->backend_output_buffer_paste = evas_software_wince_fb_output_buffer_paste;
190 re->backend_surface_resize = evas_software_wince_fb_surface_resize;
191 break;
192 case 2: /* GAPI */
193 re->backend = EVAS_ENGINE_WINCE_GAPI;
194 re->backend_priv = evas_software_wince_gapi_init(info->info.window, info->info.width, info->info.height);
195 if (!re->backend_priv)
196 {
197 free(re);
198 return 0;
199 }
200 re->backend_shutdown = evas_software_wince_gapi_shutdown;
201 re->backend_output_buffer_new = evas_software_wince_gapi_output_buffer_new;
202 re->backend_output_buffer_free = evas_software_wince_gapi_output_buffer_free;
203 re->backend_output_buffer_paste = evas_software_wince_gapi_output_buffer_paste;
204 re->backend_surface_resize = evas_software_wince_gapi_surface_resize;
205 break;
206 case 3: /* DirectDraw */
207 re->backend = EVAS_ENGINE_WINCE_DDRAW;
208 re->backend_priv = evas_software_wince_ddraw_init(info->info.window, info->info.width, info->info.height);
209 if (!re->backend_priv)
210 {
211 free(re);
212 return 0;
213 }
214 re->backend_shutdown = evas_software_wince_ddraw_shutdown;
215 re->backend_output_buffer_new = evas_software_wince_ddraw_output_buffer_new;
216 re->backend_output_buffer_free = evas_software_wince_ddraw_output_buffer_free;
217 re->backend_output_buffer_paste = evas_software_wince_ddraw_output_buffer_paste;
218 re->backend_surface_resize = evas_software_wince_ddraw_surface_resize;
219 break;
220 case 4: /* GDI */
221 re->backend = EVAS_ENGINE_WINCE_GDI;
222 re->backend_priv = evas_software_wince_gdi_init(info->info.window, info->info.width, info->info.height, info->info.fullscreen);
223 if (!re->backend_priv)
224 {
225 free(re);
226 return 0;
227 }
228 re->backend_shutdown = evas_software_wince_gdi_shutdown;
229 re->backend_output_buffer_new = evas_software_wince_gdi_output_buffer_new;
230 re->backend_output_buffer_free = evas_software_wince_gdi_output_buffer_free;
231 re->backend_output_buffer_paste = evas_software_wince_gdi_output_buffer_paste;
232 re->backend_surface_resize = evas_software_wince_gdi_surface_resize;
233 break;
234 default:
235 free(re);
236 return 0;
237 }
238
239 re->width = e->output.w;
240 re->height = e->output.h;
241 re->rotation = info->info.rotation;
242 re->tb = evas_common_tilebuf_new(e->output.w, e->output.h);
243 if (re->tb)
244 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
245 }
246 else
247 {
248 re = e->engine.data.output;
249 if (re->tb) evas_common_tilebuf_free(re->tb);
250
251 switch(info->info.backend)
252 {
253 case 1: /* FB */
254 re->backend = EVAS_ENGINE_WINCE_FB;
255 re->backend_priv = evas_software_wince_fb_init(info->info.window, info->info.width, info->info.height);
256 if (!re->backend_priv)
257 {
258 free(re);
259 return 0;
260 }
261 re->backend_shutdown = evas_software_wince_fb_shutdown;
262 re->backend_output_buffer_new = evas_software_wince_fb_output_buffer_new;
263 re->backend_output_buffer_free = evas_software_wince_fb_output_buffer_free;
264 re->backend_output_buffer_paste = evas_software_wince_fb_output_buffer_paste;
265 re->backend_surface_resize = evas_software_wince_fb_surface_resize;
266 break;
267 case 2: /* GAPI */
268 re->backend = EVAS_ENGINE_WINCE_GAPI;
269 re->backend_priv = evas_software_wince_gapi_init(info->info.window, info->info.width, info->info.height);
270 if (!re->backend_priv)
271 {
272 free(re);
273 return 0;
274 }
275 re->backend_shutdown = evas_software_wince_gapi_shutdown;
276 re->backend_output_buffer_new = evas_software_wince_gapi_output_buffer_new;
277 re->backend_output_buffer_free = evas_software_wince_gapi_output_buffer_free;
278 re->backend_output_buffer_paste = evas_software_wince_gapi_output_buffer_paste;
279 re->backend_surface_resize = evas_software_wince_gapi_surface_resize;
280 break;
281 case 3: /* DirectDraw */
282 re->backend = EVAS_ENGINE_WINCE_DDRAW;
283 re->backend_priv = evas_software_wince_ddraw_init(info->info.window, info->info.width, info->info.height);
284 if (!re->backend_priv)
285 {
286 free(re);
287 return 0;
288 }
289 re->backend_shutdown = evas_software_wince_ddraw_shutdown;
290 re->backend_output_buffer_new = evas_software_wince_ddraw_output_buffer_new;
291 re->backend_output_buffer_free = evas_software_wince_ddraw_output_buffer_free;
292 re->backend_output_buffer_paste = evas_software_wince_ddraw_output_buffer_paste;
293 re->backend_surface_resize = evas_software_wince_ddraw_surface_resize;
294 break;
295 case 4: /* GDI */
296 re->backend = EVAS_ENGINE_WINCE_GDI;
297 re->backend_priv = evas_software_wince_gdi_init(info->info.window, info->info.width, info->info.height, info->info.fullscreen);
298 if (!re->backend_priv)
299 {
300 free(re);
301 return 0;
302 }
303 re->backend_shutdown = evas_software_wince_gdi_shutdown;
304 re->backend_output_buffer_new = evas_software_wince_gdi_output_buffer_new;
305 re->backend_output_buffer_free = evas_software_wince_gdi_output_buffer_free;
306 re->backend_output_buffer_paste = evas_software_wince_gdi_output_buffer_paste;
307 re->backend_surface_resize = evas_software_wince_gdi_surface_resize;
308 break;
309 default:
310 free(re);
311 return 0;
312 }
313
314 re->width = e->output.w;
315 re->height = e->output.h;
316 re->rotation = info->info.rotation;
317 re->tb = evas_common_tilebuf_new(e->output.w, e->output.h);
318 if (re->tb)
319 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
320 if (re->tmp_out)
321 {
322 evas_cache_image_drop(&re->tmp_out->cache_entry);
323 re->tmp_out = NULL;
324 }
325 }
326 if (!e->engine.data.output) return 0;
327 /* add a draw context if we dont have one */
328 if (!e->engine.data.context)
329 e->engine.data.context =
330 e->engine.func->context_new(e->engine.data.output);
331
332 return 1;
333}
334
335static void
336eng_output_free(void *data)
337{
338 Render_Engine *re;
339
340 re = (Render_Engine *)data;
341 if (re->fbob) re->backend_output_buffer_free(re->backend_priv);
342 re->backend_shutdown(re->backend_priv);
343 if (re->clip_rects) DeleteObject(re->clip_rects);
344 if (re->tb) evas_common_tilebuf_free(re->tb);
345 if (re->rects) evas_common_tilebuf_free_render_rects(re->rects);
346 if (re->tmp_out) evas_cache_image_drop(&re->tmp_out->cache_entry);
347 free(re);
348
349 evas_common_font_shutdown();
350 evas_common_image_shutdown();
351 evas_common_soft16_image_shutdown();
352}
353
354static void
355eng_output_resize(void *data, int w, int h)
356{
357 Render_Engine *re;
358
359 re = (Render_Engine *)data;
360
361 if ((re->width == w) && (re->height == h)) return;
362
363 /* FIXME: is it needed ?? */
364 if (re->fbob)
365 re->backend_surface_resize(re->fbob);
366
367 evas_common_tilebuf_free(re->tb);
368 re->width = w;
369 re->height = h;
370 re->tb = evas_common_tilebuf_new(w, h);
371 if (re->tb)
372 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
373 if (re->fbob)
374 {
375 re->backend_output_buffer_free(re->fbob);
376 re->fbob = NULL;
377 }
378 if (re->clip_rects)
379 {
380 DeleteObject(re->clip_rects);
381 re->clip_rects = NULL;
382 }
383 if (re->tmp_out)
384 {
385 evas_cache_image_drop(&re->tmp_out->cache_entry);
386 re->tmp_out = NULL;
387 }
388}
389
390static void
391eng_output_tile_size_set(void *data, int w, int h)
392{
393 Render_Engine *re;
394
395 re = (Render_Engine *)data;
396 evas_common_tilebuf_set_tile_size(re->tb, w, h);
397}
398
399static void
400eng_output_redraws_rect_add(void *data, int x, int y, int w, int h)
401{
402 Render_Engine *re;
403
404 re = (Render_Engine *)data;
405 evas_common_tilebuf_add_redraw(re->tb, x, y, w, h);
406}
407
408static void
409eng_output_redraws_rect_del(void *data, int x, int y, int w, int h)
410{
411 Render_Engine *re;
412
413 re = (Render_Engine *)data;
414 evas_common_tilebuf_del_redraw(re->tb, x, y, w, h);
415}
416
417static void
418eng_output_redraws_clear(void *data)
419{
420 Render_Engine *re;
421
422 re = (Render_Engine *)data;
423 evas_common_tilebuf_clear(re->tb);
424}
425
426static inline void
427_output_buffer_alloc(Render_Engine *re)
428{
429 int width;
430 int height;
431
432 if (re->fbob) return;
433
434 if ((re->rotation == 0) || (re->rotation == 180))
435 {
436 width = re->width;
437 height = re->height;
438 }
439 else
440 {
441 width = re->height;
442 height = re->width;
443 }
444
445 re->fbob = re->backend_output_buffer_new(re->backend_priv,
446 width,
447 height);
448}
449
450static void *
451eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch)
452{
453 Render_Engine *re;
454 Tilebuf_Rect *rect;
455 int ux, uy, uw, uh;
456
457 re = (Render_Engine *)data;
458 if (re->end)
459 {
460 re->end = 0;
461 return NULL;
462 }
463 if (!re->rects)
464 {
465 re->rects = evas_common_tilebuf_get_render_rects(re->tb);
466 if (!re->rects) return NULL;
467
468 re->cur_rect = re->rects;
469 _output_buffer_alloc(re);
470 if (re->rotation != 0) _tmp_out_alloc(re); /* grows if required */
471 }
472 if (!re->cur_rect)
473 {
474 if (re->rects) evas_common_tilebuf_free_render_rects(re->rects);
475 re->rects = NULL;
476 return NULL;
477 }
478 rect = re->cur_rect;
479 ux = rect->x; uy = rect->y; uw = rect->w; uh = rect->h;
480 re->cur_rect = (Tilebuf_Rect *)((EINA_INLIST_GET(re->cur_rect))->next);
481 if (!re->cur_rect)
482 {
483 evas_common_tilebuf_free_render_rects(re->rects);
484 re->rects = NULL;
485 re->end = 1;
486 }
487
488 *x = ux; *y = uy; *w = uw; *h = uh;
489 if (re->rotation == 0)
490 {
491 *cx = ux; *cy = uy; *cw = uw; *ch = uh;
492 return re->fbob->im;
493 }
494 else
495 {
496 *cx = 0; *cy = 0; *cw = uw; *ch = uh;
497 return re->tmp_out;
498 }
499}
500
501static void
502_blit_rot_90(Soft16_Image *dst, const Soft16_Image *src,
503 int out_x, int out_y, int w, int h)
504{
505 DATA16 *dp, *sp;
506 int x, y;
507
508 sp = src->pixels;
509 dp = dst->pixels + (out_x +
510 (w + out_y - 1) * dst->stride);
511
512 for (y = 0; y < h; y++)
513 {
514 DATA16 *dp_itr, *sp_itr;
515
516 sp_itr = sp;
517 dp_itr = dp;
518
519 for (x = 0; x < w; x++)
520 {
521 *dp_itr = *sp_itr;
522
523 sp_itr++;
524 dp_itr -= dst->stride;
525 }
526 sp += src->stride;
527 dp++;
528 }
529}
530
531static void
532_blit_rot_180(Soft16_Image *dst, const Soft16_Image *src,
533 int out_x, int out_y, int w, int h)
534{
535 DATA16 *dp, *sp;
536 int x, y;
537
538 sp = src->pixels;
539 dp = dst->pixels + ((w + out_x - 1) +
540 (h + out_y - 1) * dst->stride);
541
542 for (y = 0; y < h; y++)
543 {
544 DATA16 *dp_itr, *sp_itr;
545
546 sp_itr = sp;
547 dp_itr = dp;
548
549 for (x = 0; x < w; x++)
550 {
551 *dp_itr = *sp_itr;
552
553 sp_itr++;
554 dp_itr--;
555 }
556 sp += src->stride;
557 dp -= dst->stride;
558 }
559}
560
561static void
562_blit_rot_270(Soft16_Image *dst, const Soft16_Image *src,
563 int out_x, int out_y, int w, int h)
564{
565 DATA16 *dp, *sp;
566 int x, y;
567
568 sp = src->pixels;
569 dp = dst->pixels + ((h + out_x - 1) +
570 out_y * dst->stride);
571
572 for (y = 0; y < h; y++)
573 {
574 DATA16 *dp_itr, *sp_itr;
575
576 sp_itr = sp;
577 dp_itr = dp;
578
579 for (x = 0; x < w; x++)
580 {
581 *dp_itr = *sp_itr;
582
583 sp_itr++;
584 dp_itr += dst->stride;
585 }
586 sp += src->stride;
587 dp--;
588 }
589}
590
591static void
592_tmp_out_process(Render_Engine *re, int out_x, int out_y, int w, int h)
593{
594 Soft16_Image *d, *s;
595
596 d = re->fbob->im;
597 s = re->tmp_out;
598
599 if ((w < 1) || (h < 1) || (out_x >= d->cache_entry.w) || (out_y >= d->cache_entry.h))
600 return;
601
602 if (re->rotation == 90)
603 _blit_rot_90(d, s, out_x, out_y, w, h);
604 else if (re->rotation == 180)
605 _blit_rot_180(d, s, out_x, out_y, w, h);
606 else if (re->rotation == 270)
607 _blit_rot_270(d, s, out_x, out_y, w, h);
608}
609
610static void
611eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h)
612{
613 Render_Engine *re;
614 HRGN region;
615 int xx;
616 int yy;
617 int width;
618 int height;
619
620 re = (Render_Engine *)data;
621
622 if (!re->clip_rects)
623 re->clip_rects = CreateRectRgn(0, 0, 0, 0);
624
625 if (re->rotation == 0)
626 {
627 xx = x;
628 yy = y;
629 width = w;
630 height = h;
631 }
632 else if (re->rotation == 90)
633 {
634 xx = y;
635 yy = re->width - w - x;
636 width = h;
637 height = w;
638 }
639 else if (re->rotation == 180)
640 {
641 xx = re->width - w - x;
642 yy = re->height - h - y;
643 width = w;
644 height = h;
645 }
646 else if (re->rotation == 270)
647 {
648 xx = re->height - h - y;
649 yy = x;
650 width = h;
651 height = w;
652 }
653
654 region = CreateRectRgn(xx, yy, xx + width, yy + height);
655
656 if (re->rotation != 0)
657 _tmp_out_process(re, xx, yy, w, h);
658 CombineRgn(re->clip_rects, re->clip_rects, region, RGN_OR);
659}
660
661static void
662eng_output_flush(void *data)
663{
664 Render_Engine *re;
665
666 re = (Render_Engine *)data;
667 if (re->clip_rects)
668 {
669 /* FIXME : i have to manage that */
670/* XSetRegion(re->disp, re->gc, re->clip_rects); */
671 DeleteObject(re->clip_rects);
672 re->clip_rects = NULL;
673 }
674 else return;
675
676 re->backend_output_buffer_paste(re->fbob);
677
678 /* FIXME : i have to manage that */
679/* XSetClipMask(re->disp, re->gc, None); */
680}
681
682static void
683eng_output_idle_flush(void *data)
684{
685 Render_Engine *re;
686
687 re = (Render_Engine *)data;
688 if (re->fbob)
689 {
690 re->backend_output_buffer_free(re->fbob);
691 re->fbob = NULL;
692 }
693 if (re->clip_rects)
694 {
695 DeleteObject(re->clip_rects);
696 re->clip_rects = NULL;
697 }
698 if (re->tmp_out)
699 {
700 evas_cache_image_drop(&re->tmp_out->cache_entry);
701 re->tmp_out = NULL;
702 }
703}
704
705static Eina_Bool
706eng_canvas_alpha_get(void *data, void *context)
707{
708 return EINA_FALSE;
709}
710
711/* module advertising code */
712static int
713module_open(Evas_Module *em)
714{
715 if (!em) return 0;
716 /* get whatever engine module we inherit from */
717 if (!_evas_module_engine_inherit(&pfunc, "software_16")) return 0;
718 _evas_engine_soft16_wince_log_dom = eina_log_domain_register
719 ("evas-software_16_wince", EVAS_DEFAULT_LOG_COLOR);
720 if (_evas_engine_soft16_wince_log_dom < 0)
721 {
722 EINA_LOG_ERR("Can not create a module log domain.");
723 return 0;
724 }
725
726 /* store it for later use */
727 func = pfunc;
728 /* now to override methods */
729#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
730 ORD(info);
731 ORD(info_free);
732 ORD(setup);
733 ORD(canvas_alpha_get);
734 ORD(output_free);
735 ORD(output_resize);
736 ORD(output_tile_size_set);
737 ORD(output_redraws_rect_add);
738 ORD(output_redraws_rect_del);
739 ORD(output_redraws_clear);
740 ORD(output_redraws_next_update_get);
741 ORD(output_redraws_next_update_push);
742 ORD(output_flush);
743 ORD(output_idle_flush);
744 /* now advertise out own api */
745 em->functions = (void *)(&func);
746 return 1;
747}
748
749static void
750module_close(Evas_Module *em)
751{
752 eina_log_domain_unregister(_evas_engine_soft16_wince_log_dom);
753}
754
755static Evas_Module_Api evas_modapi =
756{
757 EVAS_MODULE_API_VERSION,
758 "software_16_wince",
759 "none",
760 {
761 module_open,
762 module_close
763 }
764};
765
766EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_16_wince);
767
768#ifndef EVAS_STATIC_BUILD_SOFTWARE_16_WINCE
769EVAS_EINA_MODULE_DEFINE(engine, software_16_wince);
770#endif
diff --git a/libraries/evas/src/modules/engines/software_16_wince/evas_engine.h b/libraries/evas/src/modules/engines/software_16_wince/evas_engine.h
new file mode 100644
index 0000000..344e7b9
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_wince/evas_engine.h
@@ -0,0 +1,120 @@
1#ifndef __EVAS_ENGINE_H__
2#define __EVAS_ENGINE_H__
3
4#define WIN32_LEAN_AND_MEAN
5#include <windows.h>
6#undef WIN32_LEAN_AND_MEAN
7#include "evas_common.h"
8#include "evas_common_soft16.h"
9
10extern int _evas_engine_soft16_wince_log_dom;
11#ifdef ERR
12# undef ERR
13#endif
14#define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_soft16_wince_log_dom, __VA_ARGS__)
15
16#ifdef DBG
17# undef DBG
18#endif
19#define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_soft16_wince_log_dom, __VA_ARGS__)
20
21#ifdef INF
22# undef INF
23#endif
24#define INF(...) EINA_LOG_DOM_INFO(_evas_engine_soft16_wince_log_dom, __VA_ARGS__)
25
26#ifdef WRN
27# undef WRN
28#endif
29#define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_soft16_wince_log_dom, __VA_ARGS__)
30
31#ifdef CRIT
32# undef CRIT
33#endif
34#define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_soft16_wince_log_dom, __VA_ARGS__)
35
36typedef struct _FB_Output_Buffer FB_Output_Buffer;
37
38struct _FB_Output_Buffer
39{
40 Soft16_Image *im;
41 void *priv;
42};
43
44
45/* Raw FrameBuffer */
46
47void *evas_software_wince_fb_init (HWND window,
48 int width,
49 int height);
50FB_Output_Buffer *evas_software_wince_fb_output_buffer_new (void *priv,
51 int width,
52 int height);
53void evas_software_wince_fb_shutdown(void *priv);
54void evas_software_wince_fb_output_buffer_free (FB_Output_Buffer *fbob);
55void evas_software_wince_fb_output_buffer_paste (FB_Output_Buffer *fbob);
56
57void evas_software_wince_fb_surface_resize(FB_Output_Buffer *fbob);
58
59
60/* GAPI */
61
62void *evas_software_wince_gapi_init (HWND window,
63 int width,
64 int height);
65FB_Output_Buffer *evas_software_wince_gapi_output_buffer_new (void *priv,
66 int width,
67 int height);
68void evas_software_wince_gapi_shutdown(void *priv);
69void evas_software_wince_gapi_output_buffer_free (FB_Output_Buffer *fbob);
70void evas_software_wince_gapi_output_buffer_paste (FB_Output_Buffer *fbob);
71
72void evas_software_wince_gapi_surface_resize(FB_Output_Buffer *fbob);
73
74void *evas_software_wince_gapi_default_keys(void);
75int evas_software_wince_gapi_suspend(void);
76int evas_software_wince_gapi_resume(void);
77
78
79/* DirectDraw */
80
81#ifdef __cplusplus
82extern "C" {
83#endif
84
85
86void *evas_software_wince_ddraw_init (HWND window,
87 int width,
88 int height);
89FB_Output_Buffer *evas_software_wince_ddraw_output_buffer_new (void *priv,
90 int width,
91 int height);
92void evas_software_wince_ddraw_shutdown(void *priv);
93void evas_software_wince_ddraw_output_buffer_free (FB_Output_Buffer *fbob);
94void evas_software_wince_ddraw_output_buffer_paste (FB_Output_Buffer *fbob);
95
96void evas_software_wince_ddraw_surface_resize(FB_Output_Buffer *fbob);
97
98
99#ifdef __cplusplus
100}
101#endif
102
103
104/* GDI */
105
106void *evas_software_wince_gdi_init (HWND window,
107 int width,
108 int height,
109 int fullscreen);
110FB_Output_Buffer *evas_software_wince_gdi_output_buffer_new (void *priv,
111 int width,
112 int height);
113void evas_software_wince_gdi_shutdown(void *priv);
114void evas_software_wince_gdi_output_buffer_free (FB_Output_Buffer *fbob);
115void evas_software_wince_gdi_output_buffer_paste (FB_Output_Buffer *fbob);
116
117void evas_software_wince_gdi_surface_resize(FB_Output_Buffer *fbob);
118
119
120#endif /* __EVAS_ENGINE_H__ */
diff --git a/libraries/evas/src/modules/engines/software_16_wince/evas_wince_ddraw_buffer.cpp b/libraries/evas/src/modules/engines/software_16_wince/evas_wince_ddraw_buffer.cpp
new file mode 100644
index 0000000..944ed53
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_wince/evas_wince_ddraw_buffer.cpp
@@ -0,0 +1,195 @@
1
2#include <cstdio>
3
4#define WIN32_LEAN_AND_MEAN
5#include <windows.h>
6#undef WIN32_LEAN_AND_MEAN
7#include <ddraw.h>
8
9#include "evas_common.h"
10#include "evas_engine.h"
11
12
13typedef LONG (*fct_DirectDrawCreate)(LPGUID, LPUNKNOWN *, LPUNKNOWN *);
14
15fct_DirectDrawCreate lib_DirectDrawCreate;
16
17typedef struct Evas_Engine_WinCE_DDraw_Priv Evas_Engine_WinCE_DDraw_Priv;
18
19struct Evas_Engine_WinCE_DDraw_Priv
20{
21 HMODULE module;
22 LPDIRECTDRAW object;
23 LPDIRECTDRAWSURFACE surface;
24 int width;
25 int height;
26 int stride;
27};
28
29void *
30evas_software_wince_ddraw_init(HWND window,
31 int width,
32 int height)
33{
34 DDSURFACEDESC surface_desc;
35 Evas_Engine_WinCE_DDraw_Priv *priv;
36 HRESULT res;
37
38 priv = (Evas_Engine_WinCE_DDraw_Priv *)malloc(sizeof(Evas_Engine_WinCE_DDraw_Priv));
39 if (!priv)
40 return NULL;
41
42 priv->module = LoadLibrary(L"ddraw.dll");
43 if (!priv->module)
44 {
45 fprintf(stderr, "[Engine] [WinCE DDraw] Can not load ddraw.dll\n");
46 goto free_priv;
47 }
48
49 lib_DirectDrawCreate = (fct_DirectDrawCreate)GetProcAddress(priv->module, L"DirectDrawCreate");
50 if (!lib_DirectDrawCreate)
51 {
52 fprintf(stderr, "[Engine] [WinCE DDraw] Can not initialize DirectDraw\n");
53 goto free_lib;
54 }
55
56 res = lib_DirectDrawCreate(NULL, (IUnknown**)&priv->object, NULL);
57 if (FAILED(res))
58 {
59 fprintf(stderr, "[Engine] [WinCE DDraw] Can not create DirectDraw object\n");
60 goto free_lib;
61 }
62
63 res = priv->object->SetCooperativeLevel(window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN);
64 if (FAILED(res))
65 {
66 fprintf(stderr, "[Engine] [WinCE DDraw] Can not set window to fullscreen\n");
67 goto release_object;
68 }
69
70 memset(&surface_desc, 0, sizeof(surface_desc));
71 surface_desc.dwSize = sizeof(surface_desc);
72 surface_desc.dwFlags = DDSD_CAPS;
73 surface_desc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
74
75 res = priv->object->CreateSurface(&surface_desc, &priv->surface, NULL);
76 if (FAILED(res))
77 {
78 fprintf(stderr, "[Engine] [WinCE DDraw] Can not create surface\n");
79 goto release_object;
80 }
81
82 memset(&surface_desc, 0, sizeof(surface_desc));
83 surface_desc.dwSize = sizeof(surface_desc);
84 res = priv->surface->Lock(NULL, &surface_desc, DDLOCK_READONLY, NULL);
85 if (FAILED(res))
86 {
87 fprintf(stderr, "[Evas] [Engine] [WinCE DDraw] Can not lock surface\n");
88 goto release_surface;
89 }
90
91 priv->width = surface_desc.dwWidth;
92 priv->height = surface_desc.dwHeight;
93 priv->stride = surface_desc.lPitch / 2;
94
95 if ((priv->width != width) ||
96 (priv->height != height))
97 {
98 fprintf(stderr, "[Engine] [WinCE DDraw] Size mismatch\n");
99 fprintf(stderr, "[Engine] [WinCE DDraw] asked : %dx%d\n", width, height);
100 fprintf(stderr, "[Engine] [WinCE DDraw] got : %dx%d\n", priv->width, priv->height);
101 goto release_surface;
102 }
103
104 res = priv->surface->Unlock(NULL);
105 if (FAILED(res))
106 {
107 fprintf(stderr, "[Engine] [WinCE DDraw] Can not unlock surface\n");
108 goto release_surface;
109 }
110
111 return priv;
112
113 release_surface:
114 priv->surface->Release();
115 release_object:
116 priv->object->Release();
117 free_lib:
118 FreeLibrary(priv->module);
119 free_priv:
120 free(priv);
121
122 return 0;
123}
124
125void
126evas_software_wince_ddraw_shutdown(void *priv)
127{
128 ((Evas_Engine_WinCE_DDraw_Priv *)priv)->surface->Release();
129 ((Evas_Engine_WinCE_DDraw_Priv *)priv)->object->Release();
130 FreeLibrary(((Evas_Engine_WinCE_DDraw_Priv *)priv)->module);
131 free(priv);
132}
133
134
135FB_Output_Buffer *
136evas_software_wince_ddraw_output_buffer_new(void *priv,
137 int width,
138 int height)
139{
140 FB_Output_Buffer *fbob;
141 void *buffer;
142
143 fbob = (FB_Output_Buffer *)calloc(1, sizeof(FB_Output_Buffer));
144 if (!fbob) return NULL;
145
146 buffer = malloc (width * height * 2); /* we are sure to have 16bpp */
147 if (!buffer)
148 {
149 free(fbob);
150 return NULL;
151 }
152
153 fbob->priv = priv;
154
155 fbob->im = (Soft16_Image *) evas_cache_image_data(evas_common_soft16_image_cache_get(), width, height, (DATA32 *)buffer, 0, EVAS_COLORSPACE_RGB565_A5P);
156 if (fbob->im)
157 fbob->im->stride = ((Evas_Engine_WinCE_DDraw_Priv *)priv)->stride;
158
159 return fbob;
160}
161
162void
163evas_software_wince_ddraw_output_buffer_free(FB_Output_Buffer *fbob)
164{
165 free(fbob->im->pixels);
166 free(fbob);
167}
168
169void
170evas_software_wince_ddraw_output_buffer_paste(FB_Output_Buffer *fbob)
171{
172 DDSURFACEDESC surface_desc;
173 Evas_Engine_WinCE_DDraw_Priv *priv;
174 HRESULT res;
175
176 priv = (Evas_Engine_WinCE_DDraw_Priv *)fbob->priv;
177
178 memset(&surface_desc, 0, sizeof(surface_desc));
179 surface_desc.dwSize = sizeof(surface_desc);
180 res = priv->surface->Lock(NULL, &surface_desc, DDLOCK_WRITEONLY, NULL);
181 if (FAILED(res))
182 return;
183
184 if ((fbob->im->cache_entry.w == surface_desc.dwWidth) &&
185 (fbob->im->cache_entry.h == surface_desc.dwHeight))
186 memcpy(surface_desc.lpSurface, fbob->im->pixels,
187 surface_desc.dwWidth * surface_desc.dwHeight * 2);
188
189 priv->surface->Unlock(NULL);
190}
191
192void
193evas_software_wince_ddraw_surface_resize(FB_Output_Buffer *fbob)
194{
195}
diff --git a/libraries/evas/src/modules/engines/software_16_wince/evas_wince_fb_buffer.c b/libraries/evas/src/modules/engines/software_16_wince/evas_wince_fb_buffer.c
new file mode 100644
index 0000000..6a81bf4
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_wince/evas_wince_fb_buffer.c
@@ -0,0 +1,210 @@
1#include "evas_common.h"
2#include "evas_engine.h"
3
4
5#define GETGXINFO 0x00020000
6
7typedef struct GXDeviceInfo
8{
9 long Version; //00 (should filled with 100 before calling ExtEscape)
10 void *pvFrameBuffer; //04
11 unsigned long cbStride; //08
12 unsigned long cxWidth; //0c
13 unsigned long cyHeight; //10
14 unsigned long cBPP; //14
15 unsigned long ffFormat; //18
16 char Unused[0x84 - 7 * 4];
17} GXDeviceInfo;
18
19
20#define GETRAWFRAMEBUFFER 0x00020001
21
22typedef struct _RawFrameBufferInfo
23{
24 WORD wFormat;
25 WORD wBPP;
26 VOID *pFramePointer;
27 int cxStride;
28 int cyStride;
29 int cxPixels;
30 int cyPixels;
31} RawFrameBufferInfo;
32
33
34typedef struct Evas_Engine_WinCE_FB_Priv Evas_Engine_WinCE_FB_Priv;
35
36struct Evas_Engine_WinCE_FB_Priv
37{
38 int width;
39 int height;
40 void *buffer;
41};
42
43static int
44_evas_software_wince_gxinfo_init(HDC dc, int *width, int *height, void **buffer)
45{
46 GXDeviceInfo gxInfo = { 0 };
47 int result;
48
49 gxInfo.Version = 100;
50 result = ExtEscape(dc, GETGXINFO, 0, NULL, sizeof(gxInfo),
51 (char *) &gxInfo);
52 if (result <= 0)
53 {
54 ERR("ExtEscape() with GETGXINFO failed");
55 return 0;
56 }
57
58 *width = gxInfo.cyHeight;
59 *height = gxInfo.cxWidth;
60 *buffer = gxInfo.pvFrameBuffer;
61
62 return 1;
63}
64
65void *
66evas_software_wince_fb_init(HWND window,
67 int width,
68 int height)
69{
70 WCHAR oemstr[100];
71 RawFrameBufferInfo rfbi;
72 HDC dc;
73 Evas_Engine_WinCE_FB_Priv *priv;
74
75 priv = (Evas_Engine_WinCE_FB_Priv *)malloc(sizeof(Evas_Engine_WinCE_FB_Priv));
76 if (!priv)
77 return NULL;
78
79 dc = GetDC (window);
80 if (!dc)
81 {
82 ERR("Can not get DC");
83 free(priv);
84 return NULL;
85 }
86
87 SystemParametersInfo (SPI_GETOEMINFO, sizeof (oemstr), oemstr, 0);
88 if (((oemstr[12] == 'H') &&
89 (oemstr[13] == '3') &&
90 (oemstr[14] == '8')) ||
91 ((oemstr[12] == 'H') &&
92 (oemstr[13] == '3') &&
93 (oemstr[14] == '9')))
94 {
95 if (!_evas_software_wince_gxinfo_init(dc, &priv->width, &priv->height, &priv->buffer))
96 {
97 ReleaseDC(window, dc);
98 free(priv);
99 return NULL;
100 }
101
102 if ((priv->width != width) ||
103 (priv->height != height))
104 {
105 ERR("Size mismatch: asked: %dx%d, got: %dx%d",
106 width, height, priv->width, priv->height);
107 ReleaseDC(window, dc);
108 free(priv);
109 return NULL;
110 }
111
112 ReleaseDC(window, dc);
113
114 return priv;
115 }
116
117 if (!ExtEscape(dc, GETRAWFRAMEBUFFER, 0, 0, sizeof(rfbi), (char *) &rfbi)||
118 (rfbi.wBPP != 16) ||
119 (rfbi.wFormat != 1))
120 {
121 ERR("ExtEscape() with GETRAWFRAMEBUFFER failed. "
122 "Trying ExtEscape() with GETGXINFO");
123 if (!_evas_software_wince_gxinfo_init(dc, &priv->width, &priv->height, &priv->buffer))
124 {
125 ReleaseDC(window, dc);
126 free(priv);
127 return NULL;
128 }
129
130 ReleaseDC(window, dc);
131 return priv;
132 }
133
134 priv->width = rfbi.cxPixels;
135 priv->height = rfbi.cyPixels;
136 priv->buffer = rfbi.pFramePointer;
137
138 if ((priv->width != width) ||
139 (priv->height != height))
140 {
141 ERR("Size mismatch: asked: %dx%d, got: %dx%d",
142 width, height, priv->width, priv->height);
143 ReleaseDC(window, dc);
144 free(priv);
145 return NULL;
146 }
147
148 ReleaseDC(window, dc);
149
150 return priv;
151}
152
153void
154evas_software_wince_fb_shutdown(void *priv)
155{
156 free(priv);
157}
158
159
160FB_Output_Buffer *
161evas_software_wince_fb_output_buffer_new(void *priv,
162 int width,
163 int height)
164{
165 FB_Output_Buffer *fbob;
166 void *buffer;
167
168 fbob = calloc(1, sizeof(FB_Output_Buffer));
169 if (!fbob) return NULL;
170
171 buffer = malloc (width * height * 2); /* we are sure to have 16bpp */
172 if (!buffer)
173 {
174 free(fbob);
175 return NULL;
176 }
177
178 fbob->priv = priv;
179
180 fbob->im = (Soft16_Image *) evas_cache_image_data(evas_common_soft16_image_cache_get(), width, height, (DATA32 *)buffer, 0, EVAS_COLORSPACE_RGB565_A5P);
181 if (fbob->im)
182 fbob->im->stride = width;
183
184 return fbob;
185}
186
187void
188evas_software_wince_fb_output_buffer_free(FB_Output_Buffer *fbob)
189{
190 free(fbob->im->pixels);
191 free(fbob);
192}
193
194void
195evas_software_wince_fb_output_buffer_paste(FB_Output_Buffer *fbob)
196{
197 Evas_Engine_WinCE_FB_Priv *priv;
198
199 priv = (Evas_Engine_WinCE_FB_Priv *)fbob->priv;
200
201 if ((fbob->im->cache_entry.w == priv->width) &&
202 (fbob->im->cache_entry.h == priv->height))
203 memcpy(priv->buffer, fbob->im->pixels,
204 priv->width * priv->height * 2);
205}
206
207void
208evas_software_wince_fb_surface_resize(FB_Output_Buffer *fbob)
209{
210}
diff --git a/libraries/evas/src/modules/engines/software_16_wince/evas_wince_gapi_buffer.c b/libraries/evas/src/modules/engines/software_16_wince/evas_wince_gapi_buffer.c
new file mode 100644
index 0000000..c23c863
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_wince/evas_wince_gapi_buffer.c
@@ -0,0 +1,341 @@
1#include "evas_common.h"
2#include "evas_engine.h"
3
4
5typedef int (*evas_engine_wince_close_display)();
6
7typedef struct Evas_Engine_WinCE_GAPI_Priv Evas_Engine_WinCE_GAPI_Priv;
8
9
10#define GETGXINFO 0x00020000
11
12typedef struct
13{
14 long Version; //00 (should filled with 100 before calling ExtEscape)
15 void *pvFrameBuffer; //04
16 unsigned long cbStride; //08
17 unsigned long cxWidth; //0c
18 unsigned long cyHeight; //10
19 unsigned long cBPP; //14
20 unsigned long ffFormat; //18
21 char Unused[0x84 - 7 * 4];
22} _GXDeviceInfo;
23
24
25#define LINK(type,name,import) \
26 name = (gapi_##type)GetProcAddress (gapi_lib, import)
27
28#define GX_FULLSCREEN 0x01
29#define GX_NORMALKEYS 0x02
30
31#define kfDirect555 0x40
32#define kfDirect565 0x80
33
34
35typedef struct
36{
37 DWORD cxWidth;
38 DWORD cyHeight;
39 LONG cbxPitch;
40 LONG cbyPitch;
41 LONG cBPP;
42 DWORD ffFormat;
43} _GAPI_Display_Properties;
44
45typedef int (*gapi_display_open)(HWND hWnd, DWORD dwFlags);
46typedef int (*gapi_display_close)();
47typedef _GAPI_Display_Properties (*gapi_display_properties_get)(void);
48typedef void* (*gapi_draw_begin)(void);
49typedef int (*gapi_draw_end)(void);
50typedef int (*gapi_suspend)(void);
51typedef int (*gapi_resume)(void);
52
53gapi_suspend suspend = NULL;
54gapi_resume resume = NULL;
55
56int
57evas_software_wince_gapi_suspend(void)
58{
59 if (suspend)
60 return suspend();
61 else
62 return 0;
63}
64
65int
66evas_software_wince_gapi_resume(void)
67{
68 if (resume)
69 return resume();
70 else
71 return 0;
72}
73
74
75struct Evas_Engine_WinCE_GAPI_Priv
76{
77 HMODULE lib;
78 gapi_display_close close_display;
79 gapi_draw_begin draw_begin;
80 gapi_draw_end draw_end;
81 void *buffer;
82 int width;
83 int height;
84 int stride;
85};
86
87void *
88evas_software_wince_gapi_init(HWND window,
89 int width,
90 int height)
91{
92 WCHAR oemstr[100];
93 _GAPI_Display_Properties prop;
94 HMODULE gapi_lib;
95 Evas_Engine_WinCE_GAPI_Priv *priv;
96
97 gapi_display_open display_open = NULL;
98 gapi_display_close display_close = NULL;
99 gapi_display_properties_get display_properties_get = NULL;
100 gapi_draw_begin draw_begin = NULL;
101 gapi_draw_end draw_end = NULL;
102
103 priv = (Evas_Engine_WinCE_GAPI_Priv *)malloc(sizeof(Evas_Engine_WinCE_GAPI_Priv));
104 if (!priv)
105 return NULL;
106
107 gapi_lib = LoadLibrary(L"\\Windows\\gx.dll");
108 if (!gapi_lib)
109 {
110 gapi_lib = LoadLibrary(L"gx.dll");
111 if (!gapi_lib)
112 {
113 ERR("[Engine] [WinCE GAPI] Can not load gx.dll");
114 goto free_priv;
115 }
116 }
117
118 LINK(display_open, display_open, L"?GXOpenDisplay@@YAHPAUHWND__@@K@Z");
119 LINK(display_close, display_close, L"?GXCloseDisplay@@YAHXZ");
120 LINK(display_properties_get, display_properties_get, L"?GXGetDisplayProperties@@YA?AUGXDisplayProperties@@XZ");
121 LINK(draw_begin, draw_begin, L"?GXBeginDraw@@YAPAXXZ");
122 LINK(draw_end, draw_end, L"?GXEndDraw@@YAHXZ");
123 LINK(suspend, suspend, L"?GXSuspend@@YAHXZ" );
124 LINK(resume, resume, L"?GXResume@@YAHXZ" );
125
126 if (!display_open ||
127 !display_close ||
128 !display_properties_get ||
129 !draw_begin ||
130 !draw_end ||
131 !suspend ||
132 !resume)
133 {
134 ERR("[Engine] [WinCE GAPI] Can not find valid symbols");
135 goto free_lib;
136 }
137
138 if (!display_open(window, GX_FULLSCREEN))
139 {
140 ERR("[Engine] [WinCE GAPI] Can not open display");
141 goto free_lib;
142 }
143
144 prop = display_properties_get();
145
146 // verify pixel format
147 if(!(prop.ffFormat & kfDirect565) || (prop.cBPP != 16))
148 {
149 ERR("display format mismatch");
150 goto close_display;
151 }
152
153 // verify we have a vga device
154 if ((GetSystemMetrics(SM_CXSCREEN) != (int)prop.cxWidth) ||
155 (GetSystemMetrics(SM_CYSCREEN) != (int)prop.cyHeight))
156 {
157 ERR("display size mismatch");
158 goto close_display;
159 }
160
161 priv->lib = gapi_lib;
162 priv->close_display = display_close;
163 priv->draw_begin = draw_begin;
164 priv->draw_end = draw_end;
165
166 /* GAPI on Ipaq H38** and H39** is completely buggy */
167 /* They are detected as portrait device (width = 240 and height = 320) */
168 /* but the framebuffer is managed like a landscape device : */
169 /*
170 240
171 +---------+
172 | |
173 | |
174 | |
175 | |
176 | | 320
177 | ^^^ |
178 | ||| |
179 | ||| |
180 | ||| |
181 +---------+
182 ---->
183
184 */
185 /* So these devices are considered as landscape devices */
186 /* and width and height are switched. */
187 /* Other devices are managed normally : */
188 /*
189 240
190 +---------+
191| |---> |
192| |---> |
193| |---> |
194v | |
195 | | 320
196 | |
197 | |
198 | |
199 | |
200 +---------+
201
202 */
203
204 SystemParametersInfo (SPI_GETOEMINFO, sizeof (oemstr), oemstr, 0);
205
206 if (((oemstr[12] == 'H') &&
207 (oemstr[13] == '3') &&
208 (oemstr[14] == '8')) ||
209 ((oemstr[12] == 'H') &&
210 (oemstr[13] == '3') &&
211 (oemstr[14] == '9')))
212 {
213 _GXDeviceInfo gxInfo = { 0 };
214 HDC dc;
215 int result;
216
217 priv->width = prop.cyHeight;
218 priv->height = prop.cxWidth;
219 priv->stride = prop.cbxPitch;
220
221 dc = GetDC (window);
222 if (!dc)
223 {
224 ERR("Can not get device");
225 goto close_display;
226 }
227
228 gxInfo.Version = 100;
229 result = ExtEscape(dc, GETGXINFO, 0, NULL, sizeof(gxInfo),
230 (char *) &gxInfo);
231 if (result <= 0)
232 {
233 ERR("ExtEscape failed");
234 ReleaseDC(window, dc);
235 goto close_display;
236 }
237
238 priv->buffer = gxInfo.pvFrameBuffer;
239 ReleaseDC(window, dc);
240 }
241 else
242 {
243 priv->width = prop.cxWidth;
244 priv->height = prop.cyHeight;
245 priv->stride = prop.cbyPitch;
246 priv->buffer = NULL;
247 }
248
249 if ((priv->width != width) ||
250 (priv->height != height))
251 {
252 ERR("Size mismatch: asked: %dx%d, got: %dx%d",
253 width, height, priv->width, priv->height);
254 goto close_display;
255 }
256
257 return priv;
258
259 close_display:
260 display_close();
261 free_lib:
262 FreeLibrary(gapi_lib);
263 free_priv:
264 free(priv);
265 return NULL;
266}
267
268void
269evas_software_wince_gapi_shutdown(void *priv)
270{
271 Evas_Engine_WinCE_GAPI_Priv *p;
272
273 p = (Evas_Engine_WinCE_GAPI_Priv *)priv;
274 p->close_display();
275 suspend = NULL;
276 resume = NULL;
277 FreeLibrary(p->lib);
278 free(p);
279}
280
281
282FB_Output_Buffer *
283evas_software_wince_gapi_output_buffer_new(void *priv,
284 int width,
285 int height)
286{
287 FB_Output_Buffer *fbob;
288 void *buffer;
289
290 fbob = calloc(1, sizeof(FB_Output_Buffer));
291 if (!fbob) return NULL;
292
293 buffer = malloc (width * height * 2); /* we are sure to have 16bpp */
294 if (!buffer)
295 {
296 free(fbob);
297 return NULL;
298 }
299
300 fbob->priv = priv;
301
302 fbob->im = (Soft16_Image *) evas_cache_image_data(evas_common_soft16_image_cache_get(), width, height, (DATA32 *)buffer, 0, EVAS_COLORSPACE_RGB565_A5P);
303 if (fbob->im)
304 fbob->im->stride = ((Evas_Engine_WinCE_GAPI_Priv *)priv)->stride >> 1;
305
306 return fbob;
307}
308
309void
310evas_software_wince_gapi_output_buffer_free(FB_Output_Buffer *fbob)
311{
312 free(fbob->im->pixels);
313 free(fbob);
314}
315
316void
317evas_software_wince_gapi_output_buffer_paste(FB_Output_Buffer *fbob)
318{
319 Evas_Engine_WinCE_GAPI_Priv *priv;
320 void *buffer;
321
322 priv = (Evas_Engine_WinCE_GAPI_Priv *)fbob->priv;
323
324 buffer = priv->draw_begin();
325 if (!buffer)
326 return;
327
328 if (priv->buffer) buffer = priv->buffer;
329
330 if ((fbob->im->cache_entry.w == priv->width) &&
331 (fbob->im->cache_entry.h == priv->height))
332 memcpy(buffer, fbob->im->pixels,
333 priv->width * priv->height * 2);
334
335 priv->draw_end();
336}
337
338void
339evas_software_wince_gapi_surface_resize(FB_Output_Buffer *fbob)
340{
341}
diff --git a/libraries/evas/src/modules/engines/software_16_wince/evas_wince_gdi_buffer.c b/libraries/evas/src/modules/engines/software_16_wince/evas_wince_gdi_buffer.c
new file mode 100644
index 0000000..f32db4a
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_wince/evas_wince_gdi_buffer.c
@@ -0,0 +1,165 @@
1#include "evas_common.h"
2#include "evas_engine.h"
3
4
5typedef struct BITMAPINFO_16bpp BITMAPINFO_16bpp;
6typedef struct Evas_Engine_WinCE_GDI_Priv Evas_Engine_WinCE_GDI_Priv;
7
8struct BITMAPINFO_16bpp
9{
10 BITMAPINFOHEADER bih;
11 DWORD masks[3];
12};
13
14struct Evas_Engine_WinCE_GDI_Priv
15{
16 HWND window;
17 HDC dc;
18 BITMAPINFO_16bpp *bitmap_info;
19 HBITMAP bitmap;
20 int width;
21 int height;
22};
23
24void *
25evas_software_wince_gdi_init(HWND window,
26 int width,
27 int height,
28 int fullscreen)
29{
30 Evas_Engine_WinCE_GDI_Priv *priv;
31
32 priv = (Evas_Engine_WinCE_GDI_Priv *)malloc(sizeof(Evas_Engine_WinCE_GDI_Priv));
33 if (!priv)
34 return NULL;
35
36 priv->window = window;
37 priv->dc = GetDC(window);
38 if (!priv->dc)
39 {
40 ERR("Can not get DC");
41 free(priv);
42 return NULL;
43 }
44
45 if (fullscreen)
46 {
47 priv->width = GetSystemMetrics(SM_CXSCREEN);
48 priv->height = GetSystemMetrics(SM_CYSCREEN);
49 }
50 else
51 {
52 priv->width = width;
53 priv->height = height;
54 }
55
56 priv->bitmap_info = (BITMAPINFO_16bpp *)malloc(sizeof(BITMAPINFO_16bpp));
57 if (!priv->bitmap_info)
58 {
59 ERR("Can not allocate bitmap info");
60 ReleaseDC(window, priv->dc);
61 free(priv);
62 return NULL;
63 }
64
65 priv->bitmap_info->bih.biSize = sizeof(BITMAPINFOHEADER);
66 priv->bitmap_info->bih.biWidth = priv->width;
67 priv->bitmap_info->bih.biHeight = -priv->height;
68 priv->bitmap_info->bih.biPlanes = 1;
69 priv->bitmap_info->bih.biSizeImage = 2 * priv->width * priv->height;
70 priv->bitmap_info->bih.biXPelsPerMeter = 0;
71 priv->bitmap_info->bih.biYPelsPerMeter = 0;
72 priv->bitmap_info->bih.biClrUsed = 0;
73 priv->bitmap_info->bih.biClrImportant = 0;
74 priv->bitmap_info->bih.biBitCount = 16;
75 priv->bitmap_info->bih.biCompression = BI_BITFIELDS;
76 priv->bitmap_info->masks[0] = 0x0000f800;
77 priv->bitmap_info->masks[1] = 0x000007e0;
78 priv->bitmap_info->masks[2] = 0x0000001f;
79
80 return priv;
81}
82
83void
84evas_software_wince_gdi_shutdown(void *priv)
85{
86 free(((Evas_Engine_WinCE_GDI_Priv *)priv)->bitmap_info);
87 ReleaseDC(((Evas_Engine_WinCE_GDI_Priv *)priv)->window, ((Evas_Engine_WinCE_GDI_Priv *)priv)->dc);
88 free(priv);
89}
90
91
92FB_Output_Buffer *
93evas_software_wince_gdi_output_buffer_new(void *priv,
94 int width,
95 int height)
96{
97 Evas_Engine_WinCE_GDI_Priv *priv2;
98 FB_Output_Buffer *fbob;
99 void *buffer;
100
101 fbob = calloc(1, sizeof(FB_Output_Buffer));
102 if (!fbob) return NULL;
103
104 fbob->priv = priv;
105
106 priv2 = (Evas_Engine_WinCE_GDI_Priv *)fbob->priv;
107
108 priv2->bitmap = CreateDIBSection(priv2->dc,
109 (const BITMAPINFO *)priv2->bitmap_info,
110 DIB_RGB_COLORS,
111 (void **)(&buffer),
112 NULL,
113 0);
114 if (!priv2->bitmap)
115 {
116 free(fbob);
117 return NULL;
118 }
119
120 fbob->im = (Soft16_Image *) evas_cache_image_data(evas_common_soft16_image_cache_get(), width, height, (DATA32 *)buffer, 0, EVAS_COLORSPACE_RGB565_A5P);
121 if (fbob->im)
122 fbob->im->stride = width;
123
124 return fbob;
125}
126
127void
128evas_software_wince_gdi_output_buffer_free(FB_Output_Buffer *fbob)
129{
130 Evas_Engine_WinCE_GDI_Priv *priv;
131
132 priv = (Evas_Engine_WinCE_GDI_Priv *)fbob->priv;
133 DeleteObject(priv->bitmap);
134 free(fbob);
135}
136
137void
138evas_software_wince_gdi_output_buffer_paste(FB_Output_Buffer *fbob)
139{
140 Evas_Engine_WinCE_GDI_Priv *priv;
141
142 priv = (Evas_Engine_WinCE_GDI_Priv *)fbob->priv;
143
144 if ((fbob->im->cache_entry.w == priv->width) &&
145 (fbob->im->cache_entry.h == priv->height))
146 {
147 HDC dc;
148
149 dc = CreateCompatibleDC(priv->dc);
150 SelectObject(dc, priv->bitmap);
151 BitBlt(priv->dc,
152 0, 0,
153 priv->width, priv->height,
154 dc,
155 0, 0,
156 SRCCOPY);
157 DeleteDC(dc);
158
159 }
160}
161
162void
163evas_software_wince_gdi_surface_resize(FB_Output_Buffer *fbob)
164{
165}