aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/software_16
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libraries/evas/src/modules/engines/software_16/Makefile.am39
-rw-r--r--libraries/evas/src/modules/engines/software_16/Makefile.in765
-rw-r--r--libraries/evas/src/modules/engines/software_16/evas_engine.c399
-rw-r--r--libraries/evas/src/modules/engines/software_16_ddraw/Evas_Engine_Software_16_DDraw.h32
-rw-r--r--libraries/evas/src/modules/engines/software_16_ddraw/Makefile.am49
-rw-r--r--libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in869
-rw-r--r--libraries/evas/src/modules/engines/software_16_ddraw/evas_ddraw_buffer.cpp87
-rw-r--r--libraries/evas/src/modules/engines/software_16_ddraw/evas_ddraw_main.cpp71
-rw-r--r--libraries/evas/src/modules/engines/software_16_ddraw/evas_engine.c628
-rw-r--r--libraries/evas/src/modules/engines/software_16_ddraw/evas_engine.h85
-rw-r--r--libraries/evas/src/modules/engines/software_16_sdl/Evas_Engine_SDL_16.h25
-rw-r--r--libraries/evas/src/modules/engines/software_16_sdl/Makefile.am40
-rw-r--r--libraries/evas/src/modules/engines/software_16_sdl/Makefile.in780
-rw-r--r--libraries/evas/src/modules/engines/software_16_sdl/evas_engine.c1337
-rw-r--r--libraries/evas/src/modules/engines/software_16_sdl/evas_engine.h79
-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
-rw-r--r--libraries/evas/src/modules/engines/software_16_x11/Evas_Engine_Software_16_X11.h26
-rw-r--r--libraries/evas/src/modules/engines/software_16_x11/Makefile.am47
-rw-r--r--libraries/evas/src/modules/engines/software_16_x11/Makefile.in812
-rw-r--r--libraries/evas/src/modules/engines/software_16_x11/evas_engine.c741
-rw-r--r--libraries/evas/src/modules/engines/software_16_x11/evas_engine.h63
-rw-r--r--libraries/evas/src/modules/engines/software_16_x11/evas_x_buffer.c186
30 files changed, 9946 insertions, 0 deletions
diff --git a/libraries/evas/src/modules/engines/software_16/Makefile.am b/libraries/evas/src/modules/engines/software_16/Makefile.am
new file mode 100644
index 0000000..070d610
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16/Makefile.am
@@ -0,0 +1,39 @@
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@FREETYPE_CFLAGS@ \
10@PIXMAN_CFLAGS@ \
11@EINA_CFLAGS@
12
13AM_CFLAGS = @WIN32_CFLAGS@
14
15if BUILD_ENGINE_SOFTWARE_16
16
17SOFTWARE_16_SOURCES = evas_engine.c
18
19
20if !EVAS_STATIC_BUILD_SOFTWARE_16
21
22pkgdir = $(libdir)/evas/modules/engines/software_16/$(MODULE_ARCH)
23pkg_LTLIBRARIES = module.la
24module_la_SOURCES = $(SOFTWARE_16_SOURCES)
25module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
26module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
27module_la_LIBTOOLFLAGS = --tag=disable-static
28
29else
30
31noinst_LTLIBRARIES = libevas_engine_software_16.la
32
33libevas_engine_software_16_la_SOURCES = $(SOFTWARE_16_SOURCES)
34
35endif
36endif
37
38EXTRA_DIST = \
39evas_engine.c
diff --git a/libraries/evas/src/modules/engines/software_16/Makefile.in b/libraries/evas/src/modules/engines/software_16/Makefile.in
new file mode 100644
index 0000000..1fc95cf
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16/Makefile.in
@@ -0,0 +1,765 @@
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
18VPATH = @srcdir@
19pkgdatadir = $(datadir)/@PACKAGE@
20pkgincludedir = $(includedir)/@PACKAGE@
21pkglibdir = $(libdir)/@PACKAGE@
22pkglibexecdir = $(libexecdir)/@PACKAGE@
23am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
24install_sh_DATA = $(install_sh) -c -m 644
25install_sh_PROGRAM = $(install_sh) -c
26install_sh_SCRIPT = $(install_sh) -c
27INSTALL_HEADER = $(INSTALL_DATA)
28transform = $(program_transform_name)
29NORMAL_INSTALL = :
30PRE_INSTALL = :
31POST_INSTALL = :
32NORMAL_UNINSTALL = :
33PRE_UNINSTALL = :
34POST_UNINSTALL = :
35build_triplet = @build@
36host_triplet = @host@
37subdir = src/modules/engines/software_16
38DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
39ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
40am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \
41 $(top_srcdir)/m4/efl_coverage.m4 \
42 $(top_srcdir)/m4/efl_doxygen.m4 \
43 $(top_srcdir)/m4/efl_fnmatch.m4 \
44 $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \
45 $(top_srcdir)/m4/evas_check_engine.m4 \
46 $(top_srcdir)/m4/evas_check_loader.m4 \
47 $(top_srcdir)/m4/evas_converter.m4 \
48 $(top_srcdir)/m4/evas_dither.m4 \
49 $(top_srcdir)/m4/evas_scaler.m4 $(top_srcdir)/m4/libtool.m4 \
50 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
51 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
52 $(top_srcdir)/configure.ac
53am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
54 $(ACLOCAL_M4)
55mkinstalldirs = $(install_sh) -d
56CONFIG_HEADER = $(top_builddir)/config.h
57CONFIG_CLEAN_FILES =
58CONFIG_CLEAN_VPATH_FILES =
59am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
60am__vpath_adj = case $$p in \
61 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
62 *) f=$$p;; \
63 esac;
64am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
65am__install_max = 40
66am__nobase_strip_setup = \
67 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
68am__nobase_strip = \
69 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
70am__nobase_list = $(am__nobase_strip_setup); \
71 for p in $$list; do echo "$$p $$p"; done | \
72 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
73 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
74 if (++n[$$2] == $(am__install_max)) \
75 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
76 END { for (dir in files) print dir, files[dir] }'
77am__base_list = \
78 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
79 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
80am__installdirs = "$(DESTDIR)$(pkgdir)"
81LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
82libevas_engine_software_16_la_LIBADD =
83am__libevas_engine_software_16_la_SOURCES_DIST = evas_engine.c
84@BUILD_ENGINE_SOFTWARE_16_TRUE@am__objects_1 = evas_engine.lo
85@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_TRUE@am_libevas_engine_software_16_la_OBJECTS = $(am__objects_1)
86libevas_engine_software_16_la_OBJECTS = \
87 $(am_libevas_engine_software_16_la_OBJECTS)
88AM_V_lt = $(am__v_lt_$(V))
89am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
90am__v_lt_0 = --silent
91@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_TRUE@am_libevas_engine_software_16_la_rpath =
92@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
93am__module_la_SOURCES_DIST = evas_engine.c
94@BUILD_ENGINE_SOFTWARE_16_TRUE@am__objects_2 = \
95@BUILD_ENGINE_SOFTWARE_16_TRUE@ module_la-evas_engine.lo
96@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@am_module_la_OBJECTS = $(am__objects_2)
97module_la_OBJECTS = $(am_module_la_OBJECTS)
98module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
99 $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
100 $(AM_CFLAGS) $(CFLAGS) $(module_la_LDFLAGS) $(LDFLAGS) -o $@
101@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@am_module_la_rpath = -rpath \
102@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@ $(pkgdir)
103DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
104depcomp = $(SHELL) $(top_srcdir)/depcomp
105am__depfiles_maybe = depfiles
106am__mv = mv -f
107COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
108 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
109LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
110 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
111 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
112 $(AM_CFLAGS) $(CFLAGS)
113AM_V_CC = $(am__v_CC_$(V))
114am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
115am__v_CC_0 = @echo " CC " $@;
116AM_V_at = $(am__v_at_$(V))
117am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
118am__v_at_0 = @
119CCLD = $(CC)
120LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
121 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
122 $(AM_LDFLAGS) $(LDFLAGS) -o $@
123AM_V_CCLD = $(am__v_CCLD_$(V))
124am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
125am__v_CCLD_0 = @echo " CCLD " $@;
126AM_V_GEN = $(am__v_GEN_$(V))
127am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
128am__v_GEN_0 = @echo " GEN " $@;
129SOURCES = $(libevas_engine_software_16_la_SOURCES) \
130 $(module_la_SOURCES)
131DIST_SOURCES = $(am__libevas_engine_software_16_la_SOURCES_DIST) \
132 $(am__module_la_SOURCES_DIST)
133ETAGS = etags
134CTAGS = ctags
135DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
136ACLOCAL = @ACLOCAL@
137ALLOCA = @ALLOCA@
138AMTAR = @AMTAR@
139AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
140AR = @AR@
141AS = @AS@
142AUTOCONF = @AUTOCONF@
143AUTOHEADER = @AUTOHEADER@
144AUTOMAKE = @AUTOMAKE@
145AWK = @AWK@
146CC = @CC@
147CCDEPMODE = @CCDEPMODE@
148CFLAGS = @CFLAGS@
149CHECK_CFLAGS = @CHECK_CFLAGS@
150CHECK_LIBS = @CHECK_LIBS@
151CPP = @CPP@
152CPPFLAGS = @CPPFLAGS@
153CXX = @CXX@
154CXXCPP = @CXXCPP@
155CXXDEPMODE = @CXXDEPMODE@
156CXXFLAGS = @CXXFLAGS@
157CYGPATH_W = @CYGPATH_W@
158DEFS = @DEFS@
159DEPDIR = @DEPDIR@
160DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
161DIRECTFB_LIBS = @DIRECTFB_LIBS@
162DLLTOOL = @DLLTOOL@
163DSYMUTIL = @DSYMUTIL@
164DUMPBIN = @DUMPBIN@
165ECHO_C = @ECHO_C@
166ECHO_N = @ECHO_N@
167ECHO_T = @ECHO_T@
168ECORE_EVAS_CFLAGS = @ECORE_EVAS_CFLAGS@
169ECORE_EVAS_LIBS = @ECORE_EVAS_LIBS@
170EDB_CFLAGS = @EDB_CFLAGS@
171EDB_LIBS = @EDB_LIBS@
172EDJE_CFLAGS = @EDJE_CFLAGS@
173EDJE_LIBS = @EDJE_LIBS@
174EET_CFLAGS = @EET_CFLAGS@
175EET_LIBS = @EET_LIBS@
176EFL_COVERAGE_CFLAGS = @EFL_COVERAGE_CFLAGS@
177EFL_COVERAGE_LIBS = @EFL_COVERAGE_LIBS@
178EFL_FNMATCH_LIBS = @EFL_FNMATCH_LIBS@
179EGREP = @EGREP@
180EINA_CFLAGS = @EINA_CFLAGS@
181EINA_LIBS = @EINA_LIBS@
182EVAS_CFLAGS = @EVAS_CFLAGS@
183EVAS_LIBS = @EVAS_LIBS@
184EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
185EVIL_CFLAGS = @EVIL_CFLAGS@
186EVIL_LIBS = @EVIL_LIBS@
187EXEEXT = @EXEEXT@
188FGREP = @FGREP@
189FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
190FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
191FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
192FREETYPE_LIBS = @FREETYPE_LIBS@
193FRIBIDI_CFLAGS = @FRIBIDI_CFLAGS@
194FRIBIDI_LIBS = @FRIBIDI_LIBS@
195GL_EET_CFLAGS = @GL_EET_CFLAGS@
196GL_EET_LIBS = @GL_EET_LIBS@
197GREP = @GREP@
198HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@
199HARFBUZZ_LIBS = @HARFBUZZ_LIBS@
200INSTALL = @INSTALL@
201INSTALL_DATA = @INSTALL_DATA@
202INSTALL_PROGRAM = @INSTALL_PROGRAM@
203INSTALL_SCRIPT = @INSTALL_SCRIPT@
204INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
205LD = @LD@
206LDFLAGS = @LDFLAGS@
207LIBOBJS = @LIBOBJS@
208LIBS = @LIBS@
209LIBTOOL = @LIBTOOL@
210LINEBREAK_CFLAGS = @LINEBREAK_CFLAGS@
211LINEBREAK_LIBS = @LINEBREAK_LIBS@
212LIPO = @LIPO@
213LN_S = @LN_S@
214LTLIBOBJS = @LTLIBOBJS@
215MAKEINFO = @MAKEINFO@
216MKDIR_P = @MKDIR_P@
217MODULE_ARCH = @MODULE_ARCH@
218NM = @NM@
219NMEDIT = @NMEDIT@
220OBJC = @OBJC@
221OBJCDEPMODE = @OBJCDEPMODE@
222OBJCFLAGS = @OBJCFLAGS@
223OBJDUMP = @OBJDUMP@
224OBJEXT = @OBJEXT@
225OTOOL = @OTOOL@
226OTOOL64 = @OTOOL64@
227PACKAGE = @PACKAGE@
228PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
229PACKAGE_NAME = @PACKAGE_NAME@
230PACKAGE_STRING = @PACKAGE_STRING@
231PACKAGE_TARNAME = @PACKAGE_TARNAME@
232PACKAGE_URL = @PACKAGE_URL@
233PACKAGE_VERSION = @PACKAGE_VERSION@
234PATH_SEPARATOR = @PATH_SEPARATOR@
235PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
236PIXMAN_LIBS = @PIXMAN_LIBS@
237PKG_CONFIG = @PKG_CONFIG@
238PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
239PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
240PNG_CFLAGS = @PNG_CFLAGS@
241PNG_LIBS = @PNG_LIBS@
242RANLIB = @RANLIB@
243SDL_CFLAGS = @SDL_CFLAGS@
244SDL_LIBS = @SDL_LIBS@
245SED = @SED@
246SET_MAKE = @SET_MAKE@
247SHELL = @SHELL@
248SHM_OPEN_LINK = @SHM_OPEN_LINK@
249STRIP = @STRIP@
250SVG_CFLAGS = @SVG_CFLAGS@
251SVG_LIBS = @SVG_LIBS@
252VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
253VALGRIND_LIBS = @VALGRIND_LIBS@
254VERSION = @VERSION@
255VMAJ = @VMAJ@
256WIN32_CFLAGS = @WIN32_CFLAGS@
257WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
258XCB_CFLAGS = @XCB_CFLAGS@
259XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
260XCB_GL_LIBS = @XCB_GL_LIBS@
261XCB_LIBS = @XCB_LIBS@
262XEXT_CFLAGS = @XEXT_CFLAGS@
263XEXT_LIBS = @XEXT_LIBS@
264XMKMF = @XMKMF@
265X_CFLAGS = @X_CFLAGS@
266X_EXTRA_LIBS = @X_EXTRA_LIBS@
267X_LIBS = @X_LIBS@
268X_PRE_LIBS = @X_PRE_LIBS@
269abs_builddir = @abs_builddir@
270abs_srcdir = @abs_srcdir@
271abs_top_builddir = @abs_top_builddir@
272abs_top_srcdir = @abs_top_srcdir@
273ac_ct_CC = @ac_ct_CC@
274ac_ct_CXX = @ac_ct_CXX@
275ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
276ac_ct_OBJC = @ac_ct_OBJC@
277altivec_cflags = @altivec_cflags@
278am__include = @am__include@
279am__leading_dot = @am__leading_dot@
280am__quote = @am__quote@
281am__tar = @am__tar@
282am__untar = @am__untar@
283bindir = @bindir@
284build = @build@
285build_alias = @build_alias@
286build_cpu = @build_cpu@
287build_os = @build_os@
288build_vendor = @build_vendor@
289builddir = @builddir@
290datadir = @datadir@
291datarootdir = @datarootdir@
292dlopen_libs = @dlopen_libs@
293docdir = @docdir@
294dvidir = @dvidir@
295edje_cc = @edje_cc@
296efl_doxygen = @efl_doxygen@
297efl_have_doxygen = @efl_have_doxygen@
298evas_engine_buffer_cflags = @evas_engine_buffer_cflags@
299evas_engine_buffer_libs = @evas_engine_buffer_libs@
300evas_engine_direct3d_cflags = @evas_engine_direct3d_cflags@
301evas_engine_direct3d_libs = @evas_engine_direct3d_libs@
302evas_engine_directfb_cflags = @evas_engine_directfb_cflags@
303evas_engine_directfb_libs = @evas_engine_directfb_libs@
304evas_engine_fb_cflags = @evas_engine_fb_cflags@
305evas_engine_fb_libs = @evas_engine_fb_libs@
306evas_engine_gl_cocoa_cflags = @evas_engine_gl_cocoa_cflags@
307evas_engine_gl_cocoa_libs = @evas_engine_gl_cocoa_libs@
308evas_engine_gl_common_libs = @evas_engine_gl_common_libs@
309evas_engine_gl_sdl_cflags = @evas_engine_gl_sdl_cflags@
310evas_engine_gl_sdl_libs = @evas_engine_gl_sdl_libs@
311evas_engine_gl_xcb_cflags = @evas_engine_gl_xcb_cflags@
312evas_engine_gl_xcb_libs = @evas_engine_gl_xcb_libs@
313evas_engine_gl_xlib_cflags = @evas_engine_gl_xlib_cflags@
314evas_engine_gl_xlib_libs = @evas_engine_gl_xlib_libs@
315evas_engine_psl1ght_cflags = @evas_engine_psl1ght_cflags@
316evas_engine_psl1ght_libs = @evas_engine_psl1ght_libs@
317evas_engine_software_16_ddraw_cflags = @evas_engine_software_16_ddraw_cflags@
318evas_engine_software_16_ddraw_libs = @evas_engine_software_16_ddraw_libs@
319evas_engine_software_16_sdl_cflags = @evas_engine_software_16_sdl_cflags@
320evas_engine_software_16_sdl_libs = @evas_engine_software_16_sdl_libs@
321evas_engine_software_16_wince_cflags = @evas_engine_software_16_wince_cflags@
322evas_engine_software_16_wince_libs = @evas_engine_software_16_wince_libs@
323evas_engine_software_16_x11_cflags = @evas_engine_software_16_x11_cflags@
324evas_engine_software_16_x11_libs = @evas_engine_software_16_x11_libs@
325evas_engine_software_8_x11_cflags = @evas_engine_software_8_x11_cflags@
326evas_engine_software_8_x11_libs = @evas_engine_software_8_x11_libs@
327evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
328evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
329evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
330evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
331evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
332evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
333evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
334evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
335evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
336evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
337evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@
338evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@
339evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@
340evas_image_loader_edb_libs = @evas_image_loader_edb_libs@
341evas_image_loader_eet_cflags = @evas_image_loader_eet_cflags@
342evas_image_loader_eet_libs = @evas_image_loader_eet_libs@
343evas_image_loader_generic_cflags = @evas_image_loader_generic_cflags@
344evas_image_loader_generic_libs = @evas_image_loader_generic_libs@
345evas_image_loader_gif_cflags = @evas_image_loader_gif_cflags@
346evas_image_loader_gif_libs = @evas_image_loader_gif_libs@
347evas_image_loader_ico_cflags = @evas_image_loader_ico_cflags@
348evas_image_loader_ico_libs = @evas_image_loader_ico_libs@
349evas_image_loader_jpeg_cflags = @evas_image_loader_jpeg_cflags@
350evas_image_loader_jpeg_libs = @evas_image_loader_jpeg_libs@
351evas_image_loader_pmaps_cflags = @evas_image_loader_pmaps_cflags@
352evas_image_loader_pmaps_libs = @evas_image_loader_pmaps_libs@
353evas_image_loader_png_cflags = @evas_image_loader_png_cflags@
354evas_image_loader_png_libs = @evas_image_loader_png_libs@
355evas_image_loader_psd_cflags = @evas_image_loader_psd_cflags@
356evas_image_loader_psd_libs = @evas_image_loader_psd_libs@
357evas_image_loader_svg_cflags = @evas_image_loader_svg_cflags@
358evas_image_loader_svg_libs = @evas_image_loader_svg_libs@
359evas_image_loader_tga_cflags = @evas_image_loader_tga_cflags@
360evas_image_loader_tga_libs = @evas_image_loader_tga_libs@
361evas_image_loader_tiff_cflags = @evas_image_loader_tiff_cflags@
362evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
363evas_image_loader_wbmp_cflags = @evas_image_loader_wbmp_cflags@
364evas_image_loader_wbmp_libs = @evas_image_loader_wbmp_libs@
365evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
366evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
367exec_prefix = @exec_prefix@
368have_evas_engine_gl_x11 = @have_evas_engine_gl_x11@
369have_evas_engine_gl_xcb = @have_evas_engine_gl_xcb@
370have_evas_engine_gl_xlib = @have_evas_engine_gl_xlib@
371have_evas_engine_software_x11 = @have_evas_engine_software_x11@
372have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
373have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
374have_lcov = @have_lcov@
375host = @host@
376host_alias = @host_alias@
377host_cpu = @host_cpu@
378host_os = @host_os@
379host_vendor = @host_vendor@
380htmldir = @htmldir@
381includedir = @includedir@
382infodir = @infodir@
383install_sh = @install_sh@
384libdir = @libdir@
385libexecdir = @libexecdir@
386localedir = @localedir@
387localstatedir = @localstatedir@
388lt_ECHO = @lt_ECHO@
389lt_enable_auto_import = @lt_enable_auto_import@
390mandir = @mandir@
391mkdir_p = @mkdir_p@
392oldincludedir = @oldincludedir@
393pdfdir = @pdfdir@
394pkgconfig_requires_private = @pkgconfig_requires_private@
395prefix = @prefix@
396program_transform_name = @program_transform_name@
397psdir = @psdir@
398pthread_cflags = @pthread_cflags@
399pthread_libs = @pthread_libs@
400release_info = @release_info@
401requirement_evas = @requirement_evas@
402sbindir = @sbindir@
403sharedstatedir = @sharedstatedir@
404srcdir = @srcdir@
405sysconfdir = @sysconfdir@
406target_alias = @target_alias@
407top_build_prefix = @top_build_prefix@
408top_builddir = @top_builddir@
409top_srcdir = @top_srcdir@
410version_info = @version_info@
411MAINTAINERCLEANFILES = Makefile.in
412AM_CPPFLAGS = \
413-I. \
414-I$(top_srcdir)/src/lib \
415-I$(top_srcdir)/src/lib/include \
416-I$(top_srcdir)/src/modules/engines \
417@FREETYPE_CFLAGS@ \
418@PIXMAN_CFLAGS@ \
419@EINA_CFLAGS@
420
421AM_CFLAGS = @WIN32_CFLAGS@
422@BUILD_ENGINE_SOFTWARE_16_TRUE@SOFTWARE_16_SOURCES = evas_engine.c
423@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16/$(MODULE_ARCH)
424@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@pkg_LTLIBRARIES = module.la
425@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@module_la_SOURCES = $(SOFTWARE_16_SOURCES)
426@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
427@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
428@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static
429@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_TRUE@noinst_LTLIBRARIES = libevas_engine_software_16.la
430@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_TRUE@libevas_engine_software_16_la_SOURCES = $(SOFTWARE_16_SOURCES)
431EXTRA_DIST = \
432evas_engine.c
433
434all: all-am
435
436.SUFFIXES:
437.SUFFIXES: .c .lo .o .obj
438$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
439 @for dep in $?; do \
440 case '$(am__configure_deps)' in \
441 *$$dep*) \
442 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
443 && { if test -f $@; then exit 0; else break; fi; }; \
444 exit 1;; \
445 esac; \
446 done; \
447 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/engines/software_16/Makefile'; \
448 $(am__cd) $(top_srcdir) && \
449 $(AUTOMAKE) --gnu src/modules/engines/software_16/Makefile
450.PRECIOUS: Makefile
451Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
452 @case '$?' in \
453 *config.status*) \
454 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
455 *) \
456 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
457 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
458 esac;
459
460$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
461 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
462
463$(top_srcdir)/configure: $(am__configure_deps)
464 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
465$(ACLOCAL_M4): $(am__aclocal_m4_deps)
466 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
467$(am__aclocal_m4_deps):
468
469clean-noinstLTLIBRARIES:
470 -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
471 @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
472 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
473 test "$$dir" != "$$p" || dir=.; \
474 echo "rm -f \"$${dir}/so_locations\""; \
475 rm -f "$${dir}/so_locations"; \
476 done
477install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
478 @$(NORMAL_INSTALL)
479 test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
480 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
481 list2=; for p in $$list; do \
482 if test -f $$p; then \
483 list2="$$list2 $$p"; \
484 else :; fi; \
485 done; \
486 test -z "$$list2" || { \
487 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
488 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
489 }
490
491uninstall-pkgLTLIBRARIES:
492 @$(NORMAL_UNINSTALL)
493 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
494 for p in $$list; do \
495 $(am__strip_dir) \
496 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgdir)/$$f'"; \
497 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgdir)/$$f"; \
498 done
499
500clean-pkgLTLIBRARIES:
501 -test -z "$(pkg_LTLIBRARIES)" || rm -f $(pkg_LTLIBRARIES)
502 @list='$(pkg_LTLIBRARIES)'; for p in $$list; do \
503 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
504 test "$$dir" != "$$p" || dir=.; \
505 echo "rm -f \"$${dir}/so_locations\""; \
506 rm -f "$${dir}/so_locations"; \
507 done
508libevas_engine_software_16.la: $(libevas_engine_software_16_la_OBJECTS) $(libevas_engine_software_16_la_DEPENDENCIES)
509 $(AM_V_CCLD)$(LINK) $(am_libevas_engine_software_16_la_rpath) $(libevas_engine_software_16_la_OBJECTS) $(libevas_engine_software_16_la_LIBADD) $(LIBS)
510module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES)
511 $(AM_V_CCLD)$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
512
513mostlyclean-compile:
514 -rm -f *.$(OBJEXT)
515
516distclean-compile:
517 -rm -f *.tab.c
518
519@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_engine.Plo@am__quote@
520@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_engine.Plo@am__quote@
521
522.c.o:
523@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
524@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
525@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
526@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
527@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
528@am__fastdepCC_FALSE@ $(COMPILE) -c $<
529
530.c.obj:
531@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
532@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
533@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
534@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
535@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
536@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
537
538.c.lo:
539@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
540@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
541@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
542@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
543@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
544@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
545
546module_la-evas_engine.lo: evas_engine.c
547@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) $(AM_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
548@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_engine.Tpo $(DEPDIR)/module_la-evas_engine.Plo
549@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
550@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_engine.c' object='module_la-evas_engine.lo' libtool=yes @AMDEPBACKSLASH@
551@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
552@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c
553
554mostlyclean-libtool:
555 -rm -f *.lo
556
557clean-libtool:
558 -rm -rf .libs _libs
559
560ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
561 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
562 unique=`for i in $$list; do \
563 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
564 done | \
565 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
566 END { if (nonempty) { for (i in files) print i; }; }'`; \
567 mkid -fID $$unique
568tags: TAGS
569
570TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
571 $(TAGS_FILES) $(LISP)
572 set x; \
573 here=`pwd`; \
574 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
575 unique=`for i in $$list; do \
576 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
577 done | \
578 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
579 END { if (nonempty) { for (i in files) print i; }; }'`; \
580 shift; \
581 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
582 test -n "$$unique" || unique=$$empty_fix; \
583 if test $$# -gt 0; then \
584 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
585 "$$@" $$unique; \
586 else \
587 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
588 $$unique; \
589 fi; \
590 fi
591ctags: CTAGS
592CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
593 $(TAGS_FILES) $(LISP)
594 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
595 unique=`for i in $$list; do \
596 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
597 done | \
598 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
599 END { if (nonempty) { for (i in files) print i; }; }'`; \
600 test -z "$(CTAGS_ARGS)$$unique" \
601 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
602 $$unique
603
604GTAGS:
605 here=`$(am__cd) $(top_builddir) && pwd` \
606 && $(am__cd) $(top_srcdir) \
607 && gtags -i $(GTAGS_ARGS) "$$here"
608
609distclean-tags:
610 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
611
612distdir: $(DISTFILES)
613 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
614 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
615 list='$(DISTFILES)'; \
616 dist_files=`for file in $$list; do echo $$file; done | \
617 sed -e "s|^$$srcdirstrip/||;t" \
618 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
619 case $$dist_files in \
620 */*) $(MKDIR_P) `echo "$$dist_files" | \
621 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
622 sort -u` ;; \
623 esac; \
624 for file in $$dist_files; do \
625 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
626 if test -d $$d/$$file; then \
627 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
628 if test -d "$(distdir)/$$file"; then \
629 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
630 fi; \
631 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
632 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
633 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
634 fi; \
635 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
636 else \
637 test -f "$(distdir)/$$file" \
638 || cp -p $$d/$$file "$(distdir)/$$file" \
639 || exit 1; \
640 fi; \
641 done
642check-am: all-am
643check: check-am
644all-am: Makefile $(LTLIBRARIES)
645installdirs:
646 for dir in "$(DESTDIR)$(pkgdir)"; do \
647 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
648 done
649install: install-am
650install-exec: install-exec-am
651install-data: install-data-am
652uninstall: uninstall-am
653
654install-am: all-am
655 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
656
657installcheck: installcheck-am
658install-strip:
659 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
660 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
661 `test -z '$(STRIP)' || \
662 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
663mostlyclean-generic:
664
665clean-generic:
666
667distclean-generic:
668 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
669 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
670
671maintainer-clean-generic:
672 @echo "This command is intended for maintainers to use"
673 @echo "it deletes files that may require special tools to rebuild."
674 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
675clean: clean-am
676
677clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
678 clean-pkgLTLIBRARIES mostlyclean-am
679
680distclean: distclean-am
681 -rm -rf ./$(DEPDIR)
682 -rm -f Makefile
683distclean-am: clean-am distclean-compile distclean-generic \
684 distclean-tags
685
686dvi: dvi-am
687
688dvi-am:
689
690html: html-am
691
692html-am:
693
694info: info-am
695
696info-am:
697
698install-data-am: install-pkgLTLIBRARIES
699
700install-dvi: install-dvi-am
701
702install-dvi-am:
703
704install-exec-am:
705
706install-html: install-html-am
707
708install-html-am:
709
710install-info: install-info-am
711
712install-info-am:
713
714install-man:
715
716install-pdf: install-pdf-am
717
718install-pdf-am:
719
720install-ps: install-ps-am
721
722install-ps-am:
723
724installcheck-am:
725
726maintainer-clean: maintainer-clean-am
727 -rm -rf ./$(DEPDIR)
728 -rm -f Makefile
729maintainer-clean-am: distclean-am maintainer-clean-generic
730
731mostlyclean: mostlyclean-am
732
733mostlyclean-am: mostlyclean-compile mostlyclean-generic \
734 mostlyclean-libtool
735
736pdf: pdf-am
737
738pdf-am:
739
740ps: ps-am
741
742ps-am:
743
744uninstall-am: uninstall-pkgLTLIBRARIES
745
746.MAKE: install-am install-strip
747
748.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
749 clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
750 ctags distclean distclean-compile distclean-generic \
751 distclean-libtool distclean-tags distdir dvi dvi-am html \
752 html-am info info-am install install-am install-data \
753 install-data-am install-dvi install-dvi-am install-exec \
754 install-exec-am install-html install-html-am install-info \
755 install-info-am install-man install-pdf install-pdf-am \
756 install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
757 installcheck installcheck-am installdirs maintainer-clean \
758 maintainer-clean-generic mostlyclean mostlyclean-compile \
759 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
760 tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
761
762
763# Tell versions [3.59,3.63) of GNU make to not export all variables.
764# Otherwise a system limit (for SysV at least) may be exceeded.
765.NOEXPORT:
diff --git a/libraries/evas/src/modules/engines/software_16/evas_engine.c b/libraries/evas/src/modules/engines/software_16/evas_engine.c
new file mode 100644
index 0000000..643e24f
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16/evas_engine.c
@@ -0,0 +1,399 @@
1#include "evas_common.h"/* Also includes international specific stuff */
2#include "evas_common_soft16.h"
3
4/*
5 *****
6 **
7 ** ENGINE ROUTINES
8 **
9 *****
10 */
11int _evas_soft16_log_dom = -1;
12/* function tables - filled in later (func and parent func) */
13static Evas_Func func, pfunc;
14#ifdef ERR
15#undef ERR
16#endif
17#define ERR(...) EINA_LOG_DOM_ERR( _evas_soft16_log_dom, __VA_ARGS__)
18
19#ifdef DBG
20#undef DBG
21#endif
22#define DBG(...) EINA_LOG_DOM_DBG(_evas_soft16_log_dom, __VA_ARGS__)
23
24#ifdef INF
25#undef INF
26#endif
27#define INF(...) EINA_LOG_DOM_INFO(_evas_soft16_log_dom, __VA_ARGS__)
28
29#ifdef WRN
30#undef WRN
31#endif
32#define WRN(...) EINA_LOG_DOM_WARN(_evas_soft16_log_dom, __VA_ARGS__)
33
34#ifdef CRIT
35#undef CRIT
36#endif
37#define CRIT(...) EINA_LOG_DOM_CRIT(_evas_soft16_log_dom, __VA_ARGS__)
38
39#define NOT_IMPLEMENTED() \
40 WRN("NOT_IMPLEMENTED: %s() at %s:%d", \
41 __FUNCTION__, __FILE__, __LINE__)
42
43static void
44eng_rectangle_draw(void *data __UNUSED__, void *context, void *surface, int x, int y, int w, int h)
45{
46 evas_common_soft16_rectangle_draw(surface, context, x, y, w, h);
47}
48
49static void
50eng_line_draw(void *data __UNUSED__, void *context, void *surface, int x1, int y1, int x2, int y2)
51{
52 evas_common_soft16_line_draw(surface, context, x1, y1, x2, y2);
53}
54
55static void
56eng_polygon_draw(void *data __UNUSED__, void *context, void *surface, void *polygon, int x, int y)
57{
58 evas_common_soft16_polygon_draw(surface, context, polygon, x, y);
59}
60
61static int
62eng_image_alpha_get(void *data __UNUSED__, void *image)
63{
64 Soft16_Image *im;
65
66 if (!image) return 0;
67 im = image;
68 return im->cache_entry.flags.alpha;
69}
70
71static void *
72eng_image_alpha_set(void *data __UNUSED__, void *image, int have_alpha)
73{
74 if (!image) return NULL;
75 have_alpha = !!have_alpha;
76 image = evas_common_soft16_image_alpha_set(image, have_alpha);
77 return image;
78}
79
80static char *
81eng_image_comment_get(void *data __UNUSED__, void *image __UNUSED__, char *key __UNUSED__)
82{
83 return NULL;
84}
85
86static char *
87eng_image_format_get(void *data __UNUSED__, void *image __UNUSED__)
88{
89 NOT_IMPLEMENTED();
90 return NULL;
91}
92
93static int
94eng_image_colorspace_get(void *data __UNUSED__, void *image __UNUSED__)
95{
96 return EVAS_COLORSPACE_RGB565_A5P;
97}
98
99
100static void
101eng_image_colorspace_set(void *data __UNUSED__, void *image __UNUSED__, int cspace __UNUSED__)
102{
103 NOT_IMPLEMENTED();
104}
105
106static void *
107eng_image_native_set(void *data __UNUSED__, void *image __UNUSED__, void *native __UNUSED__)
108{
109 NOT_IMPLEMENTED();
110 return NULL;
111}
112
113static void *
114eng_image_native_get(void *data __UNUSED__, void *image __UNUSED__)
115{
116 NOT_IMPLEMENTED();
117 return NULL;
118}
119
120static void *
121eng_image_load(void *data __UNUSED__, const char *file, const char *key, int *error, Evas_Image_Load_Opts *lo)
122{
123 return evas_cache_image_request(evas_common_soft16_image_cache_get(), file, key, lo, error);
124}
125
126static void *
127eng_image_new_from_data(void *data __UNUSED__, int w, int h, DATA32 *image_data, int alpha, int cspace)
128{
129 if ((image_data) && (cspace != EVAS_COLORSPACE_RGB565_A5P))
130 {
131 WRN("Unsupported colorspace %d in %s() (%s:%d)",
132 cspace, __FUNCTION__, __FILE__, __LINE__);
133 return NULL;
134 }
135 return evas_cache_image_data(evas_common_soft16_image_cache_get(), w, h, image_data, alpha, EVAS_COLORSPACE_RGB565_A5P);
136}
137
138static void *
139eng_image_new_from_copied_data(void *data __UNUSED__, int w, int h, DATA32 *image_data, int alpha, int cspace)
140{
141 if ((image_data) && (cspace != EVAS_COLORSPACE_RGB565_A5P))
142 {
143 WRN("Unsupported colorspace %d in %s() (%s:%d)",
144 cspace, __FUNCTION__, __FILE__, __LINE__);
145 return NULL;
146 }
147 return evas_cache_image_copied_data(evas_common_soft16_image_cache_get(), w, h, image_data, alpha, EVAS_COLORSPACE_RGB565_A5P);
148}
149
150static void
151eng_image_size_get(void *data __UNUSED__, void *image, int *w, int *h)
152{
153 Soft16_Image *im;
154
155 if (w) *w = 0;
156 if (h) *h = 0;
157 if (!image) return;
158 im = image;
159 if (w) *w = im->cache_entry.w;
160 if (h) *h = im->cache_entry.h;
161}
162
163static void *
164eng_image_size_set(void *data __UNUSED__, void *image, int w, int h)
165{
166 if (!image) return NULL;
167 if ((w <= 0) || (h <= 0))
168 {
169 evas_cache_image_drop((Image_Entry *) image);
170 return NULL;
171 }
172 return evas_cache_image_size_set((Image_Entry *) image, w, h);
173}
174
175static void
176eng_image_stride_get(void *data __UNUSED__, void *image, int *stride)
177{
178 Soft16_Image *im;
179
180 if (stride) *stride = 0;
181 if (!image) return;
182 im = image;
183 if (stride) *stride = im->stride;
184}
185
186static void *
187eng_image_dirty_region(void *data __UNUSED__, void *image, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__)
188{
189 /* FIXME: is this required? */
190 //NOT_IMPLEMENTED();
191 return image;
192}
193
194static void *
195eng_image_data_get(void *data __UNUSED__, void *image, int to_write, DATA32 **image_data, int *err)
196{
197 Soft16_Image *im;
198 int error;
199
200 if (!image)
201 {
202 *image_data = NULL;
203 return NULL;
204 }
205
206 im = image;
207 error = evas_cache_image_load_data(&im->cache_entry);
208
209 if (to_write)
210 im = (Soft16_Image *) evas_cache_image_alone(&im->cache_entry);
211
212 if (image_data) *image_data = (DATA32 *) im->pixels;
213
214 if (err) *err = error;
215 return im;
216}
217
218static void *
219eng_image_data_put(void *data __UNUSED__, void *image, DATA32 *image_data)
220{
221 Soft16_Image *old_im, *new_im;
222
223 if (!image) return NULL;
224
225 old_im = image;
226 if ((DATA16 *)image_data == old_im->pixels) return old_im;
227
228 new_im = (Soft16_Image *) evas_cache_image_data(evas_common_soft16_image_cache_get(), old_im->cache_entry.w, old_im->cache_entry.h, image_data, old_im->cache_entry.flags.alpha, EVAS_COLORSPACE_RGB565_A5P);
229 evas_cache_image_drop(&old_im->cache_entry);
230 return new_im;
231}
232
233static void
234eng_image_data_preload_request(void *data __UNUSED__, void *image, const void *target)
235{
236 Soft16_Image *im = image;
237
238 if (!im) return ;
239 evas_cache_image_preload_data(&im->cache_entry, target);
240}
241
242static void
243eng_image_data_preload_cancel(void *data __UNUSED__, void *image, const void *target)
244{
245 Soft16_Image *im = image;
246
247 if (!im) return ;
248 evas_cache_image_preload_cancel(&im->cache_entry, target);
249}
250
251static void
252eng_image_draw(void *data __UNUSED__, void *context, void *surface, void *image, int src_x, int src_y, int src_w, int src_h, int dst_x, int dst_y, int dst_w, int dst_h, int smooth)
253{
254 Soft16_Image *im;
255
256 im = (Soft16_Image *) image;
257
258 evas_cache_image_load_data(&im->cache_entry);
259 evas_common_soft16_image_draw(im, surface, context,
260 src_x, src_y, src_w, src_h,
261 dst_x, dst_y, dst_w, dst_h,
262 smooth);
263}
264
265static void
266eng_image_scale_hint_set(void *data __UNUSED__, void *image __UNUSED__, int hint __UNUSED__)
267{
268}
269
270static int
271eng_image_scale_hint_get(void *data __UNUSED__, void *image __UNUSED__)
272{
273 return EVAS_IMAGE_SCALE_HINT_NONE;
274}
275
276static void
277eng_image_cache_flush(void *data __UNUSED__)
278{
279 evas_cache_image_flush(evas_common_soft16_image_cache_get());
280}
281
282static void
283eng_image_cache_set(void *data __UNUSED__, int bytes)
284{
285 evas_cache_image_set(evas_common_soft16_image_cache_get(), bytes);
286}
287
288static int
289eng_image_cache_get(void *data __UNUSED__)
290{
291 return evas_cache_image_get(evas_common_soft16_image_cache_get());
292}
293
294static void
295eng_font_draw(void *data __UNUSED__, void *context, void *surface, Evas_Font_Set *font, int x, int y, int w __UNUSED__, int h __UNUSED__, int ow __UNUSED__, int oh __UNUSED__, const Evas_Text_Props *text_props)
296{
297 static RGBA_Image *im = NULL;
298 Soft16_Image *dst = surface;
299
300 if (!im)
301 im = (RGBA_Image *) evas_cache_image_empty(evas_common_image_cache_get());
302 evas_cache_image_surface_alloc(&im->cache_entry, dst->cache_entry.w, dst->cache_entry.h);
303 evas_common_draw_context_font_ext_set(context,
304 surface,
305 evas_common_soft16_font_glyph_new,
306 evas_common_soft16_font_glyph_free,
307 evas_common_soft16_font_glyph_draw);
308 evas_common_font_draw(im, context, (RGBA_Font *) font, x, y, text_props);
309 evas_common_draw_context_font_ext_set(context,
310 NULL,
311 NULL,
312 NULL,
313 NULL);
314}
315
316/*
317 *****
318 **
319 ** MODULE ACCESSIBLE API API
320 **
321 *****
322 */
323
324static int
325module_open(Evas_Module *em)
326{
327 if (!em) return 0;
328 if (!_evas_module_engine_inherit(&pfunc, "software_generic")) return 0;
329 _evas_soft16_log_dom = eina_log_domain_register
330 ("evas-software_16", EVAS_DEFAULT_LOG_COLOR);
331 if (_evas_soft16_log_dom < 0)
332 {
333 EINA_LOG_ERR("Can not create a module log domain.");
334 return 0;
335 }
336 /* store it for later use */
337 func = pfunc;
338 /* now to override methods */
339 EVAS_API_RESET(info, &func);
340 EVAS_API_RESET(info_free, &func);
341 EVAS_API_RESET(setup, &func);
342#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
343 ORD(rectangle_draw);
344 ORD(line_draw);
345 ORD(polygon_draw);
346 ORD(image_load);
347 ORD(image_new_from_data);
348 ORD(image_new_from_copied_data);
349 ORD(image_size_get);
350 ORD(image_size_set);
351 ORD(image_stride_get);
352 ORD(image_dirty_region);
353 ORD(image_data_get);
354 ORD(image_data_put);
355 ORD(image_data_preload_request);
356 ORD(image_data_preload_cancel);
357 ORD(image_alpha_set);
358 ORD(image_alpha_get);
359 ORD(image_draw);
360 ORD(image_comment_get);
361 ORD(image_format_get);
362 ORD(image_colorspace_set);
363 ORD(image_colorspace_get);
364 ORD(image_native_set);
365 ORD(image_native_get);
366 ORD(image_cache_flush);
367 ORD(image_cache_set);
368 ORD(image_cache_get);
369 ORD(font_draw);
370 ORD(image_scale_hint_set);
371 ORD(image_scale_hint_get);
372
373 em->functions = (void *)(&func);
374
375 return 1;
376}
377
378static void
379module_close(Evas_Module *em __UNUSED__)
380{
381 eina_log_domain_unregister(_evas_soft16_log_dom);
382}
383
384static Evas_Module_Api evas_modapi =
385{
386 EVAS_MODULE_API_VERSION,
387 "software_16",
388 "none",
389 {
390 module_open,
391 module_close
392 }
393};
394
395EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_16);
396
397#ifndef EVAS_STATIC_BUILD_SOFTWARE_16
398EVAS_EINA_MODULE_DEFINE(engine, software_16);
399#endif
diff --git a/libraries/evas/src/modules/engines/software_16_ddraw/Evas_Engine_Software_16_DDraw.h b/libraries/evas/src/modules/engines/software_16_ddraw/Evas_Engine_Software_16_DDraw.h
new file mode 100644
index 0000000..3c1547a
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_ddraw/Evas_Engine_Software_16_DDraw.h
@@ -0,0 +1,32 @@
1#ifndef __EVAS_ENGINE_SOFTWARE_16_DDRAW_H__
2#define __EVAS_ENGINE_SOFTWARE_16_DDRAW_H__
3
4
5#include <windows.h>
6#include <ddraw.h>
7
8typedef struct _Evas_Engine_Info_Software_16_DDraw Evas_Engine_Info_Software_16_DDraw;
9
10struct _Evas_Engine_Info_Software_16_DDraw
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 LPDIRECTDRAW object; /* DirectDraw object */
19 LPDIRECTDRAWSURFACE surface_primary; /* DirectDraw primary surface */
20 LPDIRECTDRAWSURFACE surface_back; /* DirectDraw back surface */
21 LPDIRECTDRAWSURFACE surface_source; /* DirectDraw source surface */
22 int depth;
23
24 int rotation;
25 } info;
26
27 /* non-blocking or blocking mode */
28 Evas_Engine_Render_Mode render_mode;
29};
30
31
32#endif /* __EVAS_ENGINE_SOFTWARE_16_DDRAW_H__ */
diff --git a/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.am b/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.am
new file mode 100644
index 0000000..adbf477
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.am
@@ -0,0 +1,49 @@
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_ddraw_cflags@
14
15if BUILD_ENGINE_SOFTWARE_16_DDRAW
16
17SOFTWARE_16_DDRAW_SOURCES = \
18evas_engine.c \
19evas_ddraw_buffer.cpp \
20evas_ddraw_main.cpp
21
22SOFTWARE_16_DDRAW_LIBADD = @evas_engine_software_16_ddraw_libs@
23
24
25includes_HEADERS = Evas_Engine_Software_16_DDraw.h
26includesdir = $(includedir)/evas-@VMAJ@
27
28if !EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW
29
30pkgdir = $(libdir)/evas/modules/engines/software_16_ddraw/$(MODULE_ARCH)
31pkg_LTLIBRARIES = module.la
32
33module_la_SOURCES = $(SOFTWARE_16_DDRAW_SOURCES)
34module_la_CXXFLAGS = -fno-rtti -fno-exceptions
35module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(SOFTWARE_16_DDRAW_LIBADD)
36module_la_LDFLAGS = @lt_enable_auto_import@ -no-undefined -module -avoid-version
37module_la_LIBTOOLFLAGS = --tag=disable-static
38
39else
40
41noinst_LTLIBRARIES = libevas_engine_software_16_ddraw.la
42
43libevas_engine_software_16_ddraw_la_SOURCES = $(SOFTWARE_16_DDRAW_SOURCES)
44libevas_engine_software_16_ddraw_la_LIBADD = $(SOFTWARE_16_DDRAW_LIBADD)
45
46endif
47endif
48
49EXTRA_DIST = evas_engine.h
diff --git a/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in b/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in
new file mode 100644
index 0000000..f588c4f
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in
@@ -0,0 +1,869 @@
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_ddraw
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_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE@libevas_engine_software_16_ddraw_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
86am__libevas_engine_software_16_ddraw_la_SOURCES_DIST = evas_engine.c \
87 evas_ddraw_buffer.cpp evas_ddraw_main.cpp
88@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@am__objects_1 = evas_engine.lo \
89@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@ evas_ddraw_buffer.lo \
90@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@ evas_ddraw_main.lo
91@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE@am_libevas_engine_software_16_ddraw_la_OBJECTS = $(am__objects_1)
92libevas_engine_software_16_ddraw_la_OBJECTS = \
93 $(am_libevas_engine_software_16_ddraw_la_OBJECTS)
94AM_V_lt = $(am__v_lt_$(V))
95am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
96am__v_lt_0 = --silent
97@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE@am_libevas_engine_software_16_ddraw_la_rpath =
98@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la \
99@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@ $(am__DEPENDENCIES_1)
100am__module_la_SOURCES_DIST = evas_engine.c evas_ddraw_buffer.cpp \
101 evas_ddraw_main.cpp
102@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@am__objects_2 = \
103@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@ module_la-evas_engine.lo \
104@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@ module_la-evas_ddraw_buffer.lo \
105@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@ module_la-evas_ddraw_main.lo
106@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@am_module_la_OBJECTS = $(am__objects_2)
107module_la_OBJECTS = $(am_module_la_OBJECTS)
108module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
109 $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
110 $(module_la_CXXFLAGS) $(CXXFLAGS) $(module_la_LDFLAGS) \
111 $(LDFLAGS) -o $@
112@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@am_module_la_rpath = -rpath \
113@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@ $(pkgdir)
114DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
115depcomp = $(SHELL) $(top_srcdir)/depcomp
116am__depfiles_maybe = depfiles
117am__mv = mv -f
118COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
119 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
120LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
121 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
122 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
123 $(AM_CFLAGS) $(CFLAGS)
124AM_V_CC = $(am__v_CC_$(V))
125am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
126am__v_CC_0 = @echo " CC " $@;
127AM_V_at = $(am__v_at_$(V))
128am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
129am__v_at_0 = @
130CCLD = $(CC)
131LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
132 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
133 $(AM_LDFLAGS) $(LDFLAGS) -o $@
134AM_V_CCLD = $(am__v_CCLD_$(V))
135am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
136am__v_CCLD_0 = @echo " CCLD " $@;
137CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
138 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
139LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
140 $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
141 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
142 $(AM_CXXFLAGS) $(CXXFLAGS)
143AM_V_CXX = $(am__v_CXX_$(V))
144am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
145am__v_CXX_0 = @echo " CXX " $@;
146CXXLD = $(CXX)
147CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
148 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
149 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
150AM_V_CXXLD = $(am__v_CXXLD_$(V))
151am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
152am__v_CXXLD_0 = @echo " CXXLD " $@;
153AM_V_GEN = $(am__v_GEN_$(V))
154am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
155am__v_GEN_0 = @echo " GEN " $@;
156SOURCES = $(libevas_engine_software_16_ddraw_la_SOURCES) \
157 $(module_la_SOURCES)
158DIST_SOURCES = \
159 $(am__libevas_engine_software_16_ddraw_la_SOURCES_DIST) \
160 $(am__module_la_SOURCES_DIST)
161am__includes_HEADERS_DIST = Evas_Engine_Software_16_DDraw.h
162HEADERS = $(includes_HEADERS)
163ETAGS = etags
164CTAGS = ctags
165DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
166ACLOCAL = @ACLOCAL@
167ALLOCA = @ALLOCA@
168AMTAR = @AMTAR@
169AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
170AR = @AR@
171AS = @AS@
172AUTOCONF = @AUTOCONF@
173AUTOHEADER = @AUTOHEADER@
174AUTOMAKE = @AUTOMAKE@
175AWK = @AWK@
176CC = @CC@
177CCDEPMODE = @CCDEPMODE@
178CFLAGS = @CFLAGS@
179CHECK_CFLAGS = @CHECK_CFLAGS@
180CHECK_LIBS = @CHECK_LIBS@
181CPP = @CPP@
182CPPFLAGS = @CPPFLAGS@
183CXX = @CXX@
184CXXCPP = @CXXCPP@
185CXXDEPMODE = @CXXDEPMODE@
186CXXFLAGS = @CXXFLAGS@
187CYGPATH_W = @CYGPATH_W@
188DEFS = @DEFS@
189DEPDIR = @DEPDIR@
190DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
191DIRECTFB_LIBS = @DIRECTFB_LIBS@
192DLLTOOL = @DLLTOOL@
193DSYMUTIL = @DSYMUTIL@
194DUMPBIN = @DUMPBIN@
195ECHO_C = @ECHO_C@
196ECHO_N = @ECHO_N@
197ECHO_T = @ECHO_T@
198ECORE_EVAS_CFLAGS = @ECORE_EVAS_CFLAGS@
199ECORE_EVAS_LIBS = @ECORE_EVAS_LIBS@
200EDB_CFLAGS = @EDB_CFLAGS@
201EDB_LIBS = @EDB_LIBS@
202EDJE_CFLAGS = @EDJE_CFLAGS@
203EDJE_LIBS = @EDJE_LIBS@
204EET_CFLAGS = @EET_CFLAGS@
205EET_LIBS = @EET_LIBS@
206EFL_COVERAGE_CFLAGS = @EFL_COVERAGE_CFLAGS@
207EFL_COVERAGE_LIBS = @EFL_COVERAGE_LIBS@
208EFL_FNMATCH_LIBS = @EFL_FNMATCH_LIBS@
209EGREP = @EGREP@
210EINA_CFLAGS = @EINA_CFLAGS@
211EINA_LIBS = @EINA_LIBS@
212EVAS_CFLAGS = @EVAS_CFLAGS@
213EVAS_LIBS = @EVAS_LIBS@
214EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
215EVIL_CFLAGS = @EVIL_CFLAGS@
216EVIL_LIBS = @EVIL_LIBS@
217EXEEXT = @EXEEXT@
218FGREP = @FGREP@
219FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
220FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
221FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
222FREETYPE_LIBS = @FREETYPE_LIBS@
223FRIBIDI_CFLAGS = @FRIBIDI_CFLAGS@
224FRIBIDI_LIBS = @FRIBIDI_LIBS@
225GL_EET_CFLAGS = @GL_EET_CFLAGS@
226GL_EET_LIBS = @GL_EET_LIBS@
227GREP = @GREP@
228HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@
229HARFBUZZ_LIBS = @HARFBUZZ_LIBS@
230INSTALL = @INSTALL@
231INSTALL_DATA = @INSTALL_DATA@
232INSTALL_PROGRAM = @INSTALL_PROGRAM@
233INSTALL_SCRIPT = @INSTALL_SCRIPT@
234INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
235LD = @LD@
236LDFLAGS = @LDFLAGS@
237LIBOBJS = @LIBOBJS@
238LIBS = @LIBS@
239LIBTOOL = @LIBTOOL@
240LINEBREAK_CFLAGS = @LINEBREAK_CFLAGS@
241LINEBREAK_LIBS = @LINEBREAK_LIBS@
242LIPO = @LIPO@
243LN_S = @LN_S@
244LTLIBOBJS = @LTLIBOBJS@
245MAKEINFO = @MAKEINFO@
246MKDIR_P = @MKDIR_P@
247MODULE_ARCH = @MODULE_ARCH@
248NM = @NM@
249NMEDIT = @NMEDIT@
250OBJC = @OBJC@
251OBJCDEPMODE = @OBJCDEPMODE@
252OBJCFLAGS = @OBJCFLAGS@
253OBJDUMP = @OBJDUMP@
254OBJEXT = @OBJEXT@
255OTOOL = @OTOOL@
256OTOOL64 = @OTOOL64@
257PACKAGE = @PACKAGE@
258PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
259PACKAGE_NAME = @PACKAGE_NAME@
260PACKAGE_STRING = @PACKAGE_STRING@
261PACKAGE_TARNAME = @PACKAGE_TARNAME@
262PACKAGE_URL = @PACKAGE_URL@
263PACKAGE_VERSION = @PACKAGE_VERSION@
264PATH_SEPARATOR = @PATH_SEPARATOR@
265PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
266PIXMAN_LIBS = @PIXMAN_LIBS@
267PKG_CONFIG = @PKG_CONFIG@
268PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
269PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
270PNG_CFLAGS = @PNG_CFLAGS@
271PNG_LIBS = @PNG_LIBS@
272RANLIB = @RANLIB@
273SDL_CFLAGS = @SDL_CFLAGS@
274SDL_LIBS = @SDL_LIBS@
275SED = @SED@
276SET_MAKE = @SET_MAKE@
277SHELL = @SHELL@
278SHM_OPEN_LINK = @SHM_OPEN_LINK@
279STRIP = @STRIP@
280SVG_CFLAGS = @SVG_CFLAGS@
281SVG_LIBS = @SVG_LIBS@
282VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
283VALGRIND_LIBS = @VALGRIND_LIBS@
284VERSION = @VERSION@
285VMAJ = @VMAJ@
286WIN32_CFLAGS = @WIN32_CFLAGS@
287WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
288XCB_CFLAGS = @XCB_CFLAGS@
289XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
290XCB_GL_LIBS = @XCB_GL_LIBS@
291XCB_LIBS = @XCB_LIBS@
292XEXT_CFLAGS = @XEXT_CFLAGS@
293XEXT_LIBS = @XEXT_LIBS@
294XMKMF = @XMKMF@
295X_CFLAGS = @X_CFLAGS@
296X_EXTRA_LIBS = @X_EXTRA_LIBS@
297X_LIBS = @X_LIBS@
298X_PRE_LIBS = @X_PRE_LIBS@
299abs_builddir = @abs_builddir@
300abs_srcdir = @abs_srcdir@
301abs_top_builddir = @abs_top_builddir@
302abs_top_srcdir = @abs_top_srcdir@
303ac_ct_CC = @ac_ct_CC@
304ac_ct_CXX = @ac_ct_CXX@
305ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
306ac_ct_OBJC = @ac_ct_OBJC@
307altivec_cflags = @altivec_cflags@
308am__include = @am__include@
309am__leading_dot = @am__leading_dot@
310am__quote = @am__quote@
311am__tar = @am__tar@
312am__untar = @am__untar@
313bindir = @bindir@
314build = @build@
315build_alias = @build_alias@
316build_cpu = @build_cpu@
317build_os = @build_os@
318build_vendor = @build_vendor@
319builddir = @builddir@
320datadir = @datadir@
321datarootdir = @datarootdir@
322dlopen_libs = @dlopen_libs@
323docdir = @docdir@
324dvidir = @dvidir@
325edje_cc = @edje_cc@
326efl_doxygen = @efl_doxygen@
327efl_have_doxygen = @efl_have_doxygen@
328evas_engine_buffer_cflags = @evas_engine_buffer_cflags@
329evas_engine_buffer_libs = @evas_engine_buffer_libs@
330evas_engine_direct3d_cflags = @evas_engine_direct3d_cflags@
331evas_engine_direct3d_libs = @evas_engine_direct3d_libs@
332evas_engine_directfb_cflags = @evas_engine_directfb_cflags@
333evas_engine_directfb_libs = @evas_engine_directfb_libs@
334evas_engine_fb_cflags = @evas_engine_fb_cflags@
335evas_engine_fb_libs = @evas_engine_fb_libs@
336evas_engine_gl_cocoa_cflags = @evas_engine_gl_cocoa_cflags@
337evas_engine_gl_cocoa_libs = @evas_engine_gl_cocoa_libs@
338evas_engine_gl_common_libs = @evas_engine_gl_common_libs@
339evas_engine_gl_sdl_cflags = @evas_engine_gl_sdl_cflags@
340evas_engine_gl_sdl_libs = @evas_engine_gl_sdl_libs@
341evas_engine_gl_xcb_cflags = @evas_engine_gl_xcb_cflags@
342evas_engine_gl_xcb_libs = @evas_engine_gl_xcb_libs@
343evas_engine_gl_xlib_cflags = @evas_engine_gl_xlib_cflags@
344evas_engine_gl_xlib_libs = @evas_engine_gl_xlib_libs@
345evas_engine_psl1ght_cflags = @evas_engine_psl1ght_cflags@
346evas_engine_psl1ght_libs = @evas_engine_psl1ght_libs@
347evas_engine_software_16_ddraw_cflags = @evas_engine_software_16_ddraw_cflags@
348evas_engine_software_16_ddraw_libs = @evas_engine_software_16_ddraw_libs@
349evas_engine_software_16_sdl_cflags = @evas_engine_software_16_sdl_cflags@
350evas_engine_software_16_sdl_libs = @evas_engine_software_16_sdl_libs@
351evas_engine_software_16_wince_cflags = @evas_engine_software_16_wince_cflags@
352evas_engine_software_16_wince_libs = @evas_engine_software_16_wince_libs@
353evas_engine_software_16_x11_cflags = @evas_engine_software_16_x11_cflags@
354evas_engine_software_16_x11_libs = @evas_engine_software_16_x11_libs@
355evas_engine_software_8_x11_cflags = @evas_engine_software_8_x11_cflags@
356evas_engine_software_8_x11_libs = @evas_engine_software_8_x11_libs@
357evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
358evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
359evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
360evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
361evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
362evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
363evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
364evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
365evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
366evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
367evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@
368evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@
369evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@
370evas_image_loader_edb_libs = @evas_image_loader_edb_libs@
371evas_image_loader_eet_cflags = @evas_image_loader_eet_cflags@
372evas_image_loader_eet_libs = @evas_image_loader_eet_libs@
373evas_image_loader_generic_cflags = @evas_image_loader_generic_cflags@
374evas_image_loader_generic_libs = @evas_image_loader_generic_libs@
375evas_image_loader_gif_cflags = @evas_image_loader_gif_cflags@
376evas_image_loader_gif_libs = @evas_image_loader_gif_libs@
377evas_image_loader_ico_cflags = @evas_image_loader_ico_cflags@
378evas_image_loader_ico_libs = @evas_image_loader_ico_libs@
379evas_image_loader_jpeg_cflags = @evas_image_loader_jpeg_cflags@
380evas_image_loader_jpeg_libs = @evas_image_loader_jpeg_libs@
381evas_image_loader_pmaps_cflags = @evas_image_loader_pmaps_cflags@
382evas_image_loader_pmaps_libs = @evas_image_loader_pmaps_libs@
383evas_image_loader_png_cflags = @evas_image_loader_png_cflags@
384evas_image_loader_png_libs = @evas_image_loader_png_libs@
385evas_image_loader_psd_cflags = @evas_image_loader_psd_cflags@
386evas_image_loader_psd_libs = @evas_image_loader_psd_libs@
387evas_image_loader_svg_cflags = @evas_image_loader_svg_cflags@
388evas_image_loader_svg_libs = @evas_image_loader_svg_libs@
389evas_image_loader_tga_cflags = @evas_image_loader_tga_cflags@
390evas_image_loader_tga_libs = @evas_image_loader_tga_libs@
391evas_image_loader_tiff_cflags = @evas_image_loader_tiff_cflags@
392evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
393evas_image_loader_wbmp_cflags = @evas_image_loader_wbmp_cflags@
394evas_image_loader_wbmp_libs = @evas_image_loader_wbmp_libs@
395evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
396evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
397exec_prefix = @exec_prefix@
398have_evas_engine_gl_x11 = @have_evas_engine_gl_x11@
399have_evas_engine_gl_xcb = @have_evas_engine_gl_xcb@
400have_evas_engine_gl_xlib = @have_evas_engine_gl_xlib@
401have_evas_engine_software_x11 = @have_evas_engine_software_x11@
402have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
403have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
404have_lcov = @have_lcov@
405host = @host@
406host_alias = @host_alias@
407host_cpu = @host_cpu@
408host_os = @host_os@
409host_vendor = @host_vendor@
410htmldir = @htmldir@
411includedir = @includedir@
412infodir = @infodir@
413install_sh = @install_sh@
414libdir = @libdir@
415libexecdir = @libexecdir@
416localedir = @localedir@
417localstatedir = @localstatedir@
418lt_ECHO = @lt_ECHO@
419lt_enable_auto_import = @lt_enable_auto_import@
420mandir = @mandir@
421mkdir_p = @mkdir_p@
422oldincludedir = @oldincludedir@
423pdfdir = @pdfdir@
424pkgconfig_requires_private = @pkgconfig_requires_private@
425prefix = @prefix@
426program_transform_name = @program_transform_name@
427psdir = @psdir@
428pthread_cflags = @pthread_cflags@
429pthread_libs = @pthread_libs@
430release_info = @release_info@
431requirement_evas = @requirement_evas@
432sbindir = @sbindir@
433sharedstatedir = @sharedstatedir@
434srcdir = @srcdir@
435sysconfdir = @sysconfdir@
436target_alias = @target_alias@
437top_build_prefix = @top_build_prefix@
438top_builddir = @top_builddir@
439top_srcdir = @top_srcdir@
440version_info = @version_info@
441MAINTAINERCLEANFILES = Makefile.in
442AM_CPPFLAGS = \
443-I. \
444-I$(top_srcdir)/src/lib \
445-I$(top_srcdir)/src/lib/include \
446-I$(top_srcdir)/src/modules/engines \
447-I$(top_srcdir)/src/modules/engines/software_16 \
448@EINA_CFLAGS@ \
449@FREETYPE_CFLAGS@ \
450@PIXMAN_CFLAGS@ \
451@evas_engine_software_16_ddraw_cflags@
452
453@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@SOFTWARE_16_DDRAW_SOURCES = \
454@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@evas_engine.c \
455@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@evas_ddraw_buffer.cpp \
456@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@evas_ddraw_main.cpp
457
458@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@SOFTWARE_16_DDRAW_LIBADD = @evas_engine_software_16_ddraw_libs@
459@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@includes_HEADERS = Evas_Engine_Software_16_DDraw.h
460@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@includesdir = $(includedir)/evas-@VMAJ@
461@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16_ddraw/$(MODULE_ARCH)
462@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@pkg_LTLIBRARIES = module.la
463@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@module_la_SOURCES = $(SOFTWARE_16_DDRAW_SOURCES)
464@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@module_la_CXXFLAGS = -fno-rtti -fno-exceptions
465@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(SOFTWARE_16_DDRAW_LIBADD)
466@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@module_la_LDFLAGS = @lt_enable_auto_import@ -no-undefined -module -avoid-version
467@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static
468@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE@noinst_LTLIBRARIES = libevas_engine_software_16_ddraw.la
469@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE@libevas_engine_software_16_ddraw_la_SOURCES = $(SOFTWARE_16_DDRAW_SOURCES)
470@BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE@libevas_engine_software_16_ddraw_la_LIBADD = $(SOFTWARE_16_DDRAW_LIBADD)
471EXTRA_DIST = evas_engine.h
472all: all-am
473
474.SUFFIXES:
475.SUFFIXES: .c .cpp .lo .o .obj
476$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
477 @for dep in $?; do \
478 case '$(am__configure_deps)' in \
479 *$$dep*) \
480 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
481 && { if test -f $@; then exit 0; else break; fi; }; \
482 exit 1;; \
483 esac; \
484 done; \
485 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/engines/software_16_ddraw/Makefile'; \
486 $(am__cd) $(top_srcdir) && \
487 $(AUTOMAKE) --gnu src/modules/engines/software_16_ddraw/Makefile
488.PRECIOUS: Makefile
489Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
490 @case '$?' in \
491 *config.status*) \
492 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
493 *) \
494 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
495 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
496 esac;
497
498$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
499 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
500
501$(top_srcdir)/configure: $(am__configure_deps)
502 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
503$(ACLOCAL_M4): $(am__aclocal_m4_deps)
504 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
505$(am__aclocal_m4_deps):
506
507clean-noinstLTLIBRARIES:
508 -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
509 @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
510 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
511 test "$$dir" != "$$p" || dir=.; \
512 echo "rm -f \"$${dir}/so_locations\""; \
513 rm -f "$${dir}/so_locations"; \
514 done
515install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
516 @$(NORMAL_INSTALL)
517 test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
518 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
519 list2=; for p in $$list; do \
520 if test -f $$p; then \
521 list2="$$list2 $$p"; \
522 else :; fi; \
523 done; \
524 test -z "$$list2" || { \
525 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
526 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
527 }
528
529uninstall-pkgLTLIBRARIES:
530 @$(NORMAL_UNINSTALL)
531 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
532 for p in $$list; do \
533 $(am__strip_dir) \
534 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgdir)/$$f'"; \
535 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgdir)/$$f"; \
536 done
537
538clean-pkgLTLIBRARIES:
539 -test -z "$(pkg_LTLIBRARIES)" || rm -f $(pkg_LTLIBRARIES)
540 @list='$(pkg_LTLIBRARIES)'; for p in $$list; do \
541 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
542 test "$$dir" != "$$p" || dir=.; \
543 echo "rm -f \"$${dir}/so_locations\""; \
544 rm -f "$${dir}/so_locations"; \
545 done
546libevas_engine_software_16_ddraw.la: $(libevas_engine_software_16_ddraw_la_OBJECTS) $(libevas_engine_software_16_ddraw_la_DEPENDENCIES)
547 $(AM_V_CXXLD)$(CXXLINK) $(am_libevas_engine_software_16_ddraw_la_rpath) $(libevas_engine_software_16_ddraw_la_OBJECTS) $(libevas_engine_software_16_ddraw_la_LIBADD) $(LIBS)
548module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES)
549 $(AM_V_CXXLD)$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
550
551mostlyclean-compile:
552 -rm -f *.$(OBJEXT)
553
554distclean-compile:
555 -rm -f *.tab.c
556
557@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_ddraw_buffer.Plo@am__quote@
558@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_ddraw_main.Plo@am__quote@
559@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_engine.Plo@am__quote@
560@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_ddraw_buffer.Plo@am__quote@
561@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_ddraw_main.Plo@am__quote@
562@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_engine.Plo@am__quote@
563
564.c.o:
565@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
566@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
567@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
568@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
569@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
570@am__fastdepCC_FALSE@ $(COMPILE) -c $<
571
572.c.obj:
573@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
574@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
575@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
576@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
577@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
578@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
579
580.c.lo:
581@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
582@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
583@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
584@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
585@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
586@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
587
588module_la-evas_engine.lo: evas_engine.c
589@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) $(AM_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
590@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_engine.Tpo $(DEPDIR)/module_la-evas_engine.Plo
591@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
592@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_engine.c' object='module_la-evas_engine.lo' libtool=yes @AMDEPBACKSLASH@
593@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
594@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c
595
596.cpp.o:
597@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
598@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
599@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
600@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
601@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
602@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
603
604.cpp.obj:
605@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
606@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
607@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
608@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
609@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
610@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
611
612.cpp.lo:
613@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
614@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
615@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
616@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
617@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
618@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
619
620module_la-evas_ddraw_buffer.lo: evas_ddraw_buffer.cpp
621@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_ddraw_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_ddraw_buffer.Tpo -c -o module_la-evas_ddraw_buffer.lo `test -f 'evas_ddraw_buffer.cpp' || echo '$(srcdir)/'`evas_ddraw_buffer.cpp
622@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_ddraw_buffer.Tpo $(DEPDIR)/module_la-evas_ddraw_buffer.Plo
623@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
624@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='evas_ddraw_buffer.cpp' object='module_la-evas_ddraw_buffer.lo' libtool=yes @AMDEPBACKSLASH@
625@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
626@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_ddraw_buffer.lo `test -f 'evas_ddraw_buffer.cpp' || echo '$(srcdir)/'`evas_ddraw_buffer.cpp
627
628module_la-evas_ddraw_main.lo: evas_ddraw_main.cpp
629@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_ddraw_main.lo -MD -MP -MF $(DEPDIR)/module_la-evas_ddraw_main.Tpo -c -o module_la-evas_ddraw_main.lo `test -f 'evas_ddraw_main.cpp' || echo '$(srcdir)/'`evas_ddraw_main.cpp
630@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_ddraw_main.Tpo $(DEPDIR)/module_la-evas_ddraw_main.Plo
631@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
632@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='evas_ddraw_main.cpp' object='module_la-evas_ddraw_main.lo' libtool=yes @AMDEPBACKSLASH@
633@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
634@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_ddraw_main.lo `test -f 'evas_ddraw_main.cpp' || echo '$(srcdir)/'`evas_ddraw_main.cpp
635
636mostlyclean-libtool:
637 -rm -f *.lo
638
639clean-libtool:
640 -rm -rf .libs _libs
641install-includesHEADERS: $(includes_HEADERS)
642 @$(NORMAL_INSTALL)
643 test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
644 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
645 for p in $$list; do \
646 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
647 echo "$$d$$p"; \
648 done | $(am__base_list) | \
649 while read files; do \
650 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
651 $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
652 done
653
654uninstall-includesHEADERS:
655 @$(NORMAL_UNINSTALL)
656 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
657 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
658 test -n "$$files" || exit 0; \
659 echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
660 cd "$(DESTDIR)$(includesdir)" && rm -f $$files
661
662ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
663 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
664 unique=`for i in $$list; do \
665 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
666 done | \
667 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
668 END { if (nonempty) { for (i in files) print i; }; }'`; \
669 mkid -fID $$unique
670tags: TAGS
671
672TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
673 $(TAGS_FILES) $(LISP)
674 set x; \
675 here=`pwd`; \
676 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
677 unique=`for i in $$list; do \
678 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
679 done | \
680 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
681 END { if (nonempty) { for (i in files) print i; }; }'`; \
682 shift; \
683 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
684 test -n "$$unique" || unique=$$empty_fix; \
685 if test $$# -gt 0; then \
686 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
687 "$$@" $$unique; \
688 else \
689 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
690 $$unique; \
691 fi; \
692 fi
693ctags: CTAGS
694CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
695 $(TAGS_FILES) $(LISP)
696 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
697 unique=`for i in $$list; do \
698 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
699 done | \
700 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
701 END { if (nonempty) { for (i in files) print i; }; }'`; \
702 test -z "$(CTAGS_ARGS)$$unique" \
703 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
704 $$unique
705
706GTAGS:
707 here=`$(am__cd) $(top_builddir) && pwd` \
708 && $(am__cd) $(top_srcdir) \
709 && gtags -i $(GTAGS_ARGS) "$$here"
710
711distclean-tags:
712 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
713
714distdir: $(DISTFILES)
715 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
716 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
717 list='$(DISTFILES)'; \
718 dist_files=`for file in $$list; do echo $$file; done | \
719 sed -e "s|^$$srcdirstrip/||;t" \
720 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
721 case $$dist_files in \
722 */*) $(MKDIR_P) `echo "$$dist_files" | \
723 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
724 sort -u` ;; \
725 esac; \
726 for file in $$dist_files; do \
727 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
728 if test -d $$d/$$file; then \
729 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
730 if test -d "$(distdir)/$$file"; then \
731 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
732 fi; \
733 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
734 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
735 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
736 fi; \
737 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
738 else \
739 test -f "$(distdir)/$$file" \
740 || cp -p $$d/$$file "$(distdir)/$$file" \
741 || exit 1; \
742 fi; \
743 done
744check-am: all-am
745check: check-am
746all-am: Makefile $(LTLIBRARIES) $(HEADERS)
747installdirs:
748 for dir in "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includesdir)"; do \
749 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
750 done
751install: install-am
752install-exec: install-exec-am
753install-data: install-data-am
754uninstall: uninstall-am
755
756install-am: all-am
757 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
758
759installcheck: installcheck-am
760install-strip:
761 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
762 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
763 `test -z '$(STRIP)' || \
764 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
765mostlyclean-generic:
766
767clean-generic:
768
769distclean-generic:
770 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
771 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
772
773maintainer-clean-generic:
774 @echo "This command is intended for maintainers to use"
775 @echo "it deletes files that may require special tools to rebuild."
776 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
777clean: clean-am
778
779clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
780 clean-pkgLTLIBRARIES mostlyclean-am
781
782distclean: distclean-am
783 -rm -rf ./$(DEPDIR)
784 -rm -f Makefile
785distclean-am: clean-am distclean-compile distclean-generic \
786 distclean-tags
787
788dvi: dvi-am
789
790dvi-am:
791
792html: html-am
793
794html-am:
795
796info: info-am
797
798info-am:
799
800install-data-am: install-includesHEADERS install-pkgLTLIBRARIES
801
802install-dvi: install-dvi-am
803
804install-dvi-am:
805
806install-exec-am:
807
808install-html: install-html-am
809
810install-html-am:
811
812install-info: install-info-am
813
814install-info-am:
815
816install-man:
817
818install-pdf: install-pdf-am
819
820install-pdf-am:
821
822install-ps: install-ps-am
823
824install-ps-am:
825
826installcheck-am:
827
828maintainer-clean: maintainer-clean-am
829 -rm -rf ./$(DEPDIR)
830 -rm -f Makefile
831maintainer-clean-am: distclean-am maintainer-clean-generic
832
833mostlyclean: mostlyclean-am
834
835mostlyclean-am: mostlyclean-compile mostlyclean-generic \
836 mostlyclean-libtool
837
838pdf: pdf-am
839
840pdf-am:
841
842ps: ps-am
843
844ps-am:
845
846uninstall-am: uninstall-includesHEADERS uninstall-pkgLTLIBRARIES
847
848.MAKE: install-am install-strip
849
850.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
851 clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
852 ctags distclean distclean-compile distclean-generic \
853 distclean-libtool distclean-tags distdir dvi dvi-am html \
854 html-am info info-am install install-am install-data \
855 install-data-am install-dvi install-dvi-am install-exec \
856 install-exec-am install-html install-html-am \
857 install-includesHEADERS install-info install-info-am \
858 install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
859 install-ps install-ps-am install-strip installcheck \
860 installcheck-am installdirs maintainer-clean \
861 maintainer-clean-generic mostlyclean mostlyclean-compile \
862 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
863 tags uninstall uninstall-am uninstall-includesHEADERS \
864 uninstall-pkgLTLIBRARIES
865
866
867# Tell versions [3.59,3.63) of GNU make to not export all variables.
868# Otherwise a system limit (for SysV at least) may be exceeded.
869.NOEXPORT:
diff --git a/libraries/evas/src/modules/engines/software_16_ddraw/evas_ddraw_buffer.cpp b/libraries/evas/src/modules/engines/software_16_ddraw/evas_ddraw_buffer.cpp
new file mode 100644
index 0000000..7a0a8b7
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_ddraw/evas_ddraw_buffer.cpp
@@ -0,0 +1,87 @@
1#include "evas_common.h"
2#include "evas_engine.h"
3
4
5DDraw_Output_Buffer *
6evas_software_ddraw_output_buffer_new(HWND window,
7 LPDIRECTDRAW object,
8 LPDIRECTDRAWSURFACE surface_primary,
9 LPDIRECTDRAWSURFACE surface_back,
10 LPDIRECTDRAWSURFACE surface_source,
11 int width,
12 int height)
13{
14 DDSURFACEDESC surface_desc;
15 DDraw_Output_Buffer *ddob;
16
17 ddob = (DDraw_Output_Buffer *)calloc(1, sizeof(DDraw_Output_Buffer));
18 if (!ddob) return NULL;
19
20 ddob->dd.window = window;
21 ddob->dd.object = object;
22 ddob->dd.surface_primary = surface_primary;
23 ddob->dd.surface_back = surface_back;
24 ddob->dd.surface_source = surface_source;
25 ddob->width = width;
26 ddob->height = height;
27 ddob->pitch = width * 2;
28
29 ZeroMemory(&surface_desc, sizeof(surface_desc));
30 surface_desc.dwSize = sizeof(surface_desc);
31
32 if (FAILED(ddob->dd.surface_source->Lock(NULL,
33 &surface_desc,
34 DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR,
35 NULL)))
36 {
37 free(ddob);
38 return NULL;
39 }
40
41 ddob->data = (DATA16 *)surface_desc.lpSurface;
42
43 if (FAILED(ddob->dd.surface_source->Unlock(NULL)))
44 {
45 free(ddob);
46 return NULL;
47 }
48 if (ddob->im)
49 evas_cache_image_drop(&ddob->im->cache_entry);
50
51 ddob->im = (Soft16_Image *) evas_cache_image_data(evas_common_soft16_image_cache_get(), width, height, (DATA32 *) ddob->data, 0, EVAS_COLORSPACE_RGB565_A5P);
52 if (ddob->im)
53 ddob->im->stride = ddob->pitch;
54
55 return ddob;
56}
57
58void
59evas_software_ddraw_output_buffer_free(DDraw_Output_Buffer *ddob, int sync)
60{
61 free(ddob);
62}
63
64void
65evas_software_ddraw_output_buffer_paste(DDraw_Output_Buffer *ddob)
66{
67 RECT dst_rect;
68 RECT src_rect;
69 POINT p;
70
71 SetRect(&src_rect, 0, 0, ddob->width, ddob->height);
72
73 if (FAILED(ddob->dd.surface_back->BltFast(0, 0,
74 ddob->dd.surface_source,
75 &src_rect,
76 DDBLTFAST_NOCOLORKEY | DDBLTFAST_WAIT)))
77 return;
78
79 p.x = 0;
80 p.y = 0;
81 ClientToScreen(ddob->dd.window, &p);
82 GetClientRect(ddob->dd.window, &dst_rect);
83 OffsetRect(&dst_rect, p.x, p.y);
84 ddob->dd.surface_primary->Blt(&dst_rect,
85 ddob->dd.surface_back, &src_rect,
86 DDBLT_WAIT, NULL);
87}
diff --git a/libraries/evas/src/modules/engines/software_16_ddraw/evas_ddraw_main.cpp b/libraries/evas/src/modules/engines/software_16_ddraw/evas_ddraw_main.cpp
new file mode 100644
index 0000000..7a2eb7f
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_ddraw/evas_ddraw_main.cpp
@@ -0,0 +1,71 @@
1#include "evas_engine.h"
2
3
4void *
5evas_software_ddraw_lock(DDraw_Output_Buffer *ddob, int *ddraw_width, int *ddraw_height, int *ddraw_pitch, int *ddraw_depth)
6{
7 DDSURFACEDESC surface_desc;
8
9 ZeroMemory(&surface_desc, sizeof(surface_desc));
10 surface_desc.dwSize = sizeof(surface_desc);
11
12 if (FAILED(ddob->dd.surface_back->Lock(NULL,
13 &surface_desc,
14 DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR | DDLOCK_WRITEONLY,
15 NULL)))
16 return NULL;
17
18 *ddraw_width = surface_desc.dwWidth;
19 *ddraw_height = surface_desc.dwHeight;
20 *ddraw_pitch = surface_desc.lPitch;
21 *ddraw_depth = surface_desc.ddpfPixelFormat.dwRGBBitCount >> 3;
22
23 return surface_desc.lpSurface;
24}
25
26void
27evas_software_ddraw_unlock_and_flip(DDraw_Output_Buffer *ddob)
28{
29 RECT dst_rect;
30 RECT src_rect;
31 POINT p;
32
33 if (FAILED(ddob->dd.surface_back->Unlock(NULL)))
34 return;
35
36 /* we figure out where on the primary surface our window lives */
37 p.x = 0;
38 p.y = 0;
39 ClientToScreen(ddob->dd.window, &p);
40 GetClientRect(ddob->dd.window, &dst_rect);
41 OffsetRect(&dst_rect, p.x, p.y);
42 SetRect(&src_rect, 0, 0, ddob->width, ddob->height);
43
44 /* nothing to do if the function fails, so we don't check the result */
45 ddob->dd.surface_primary->BltFast(0, 0,
46 ddob->dd.surface_back, &dst_rect,
47 DDBLTFAST_WAIT || DDBLTFAST_NOCOLORKEY);
48}
49
50void
51evas_software_ddraw_surface_resize(DDraw_Output_Buffer *ddob)
52{
53 DDSURFACEDESC surface_desc;
54
55 ddob->dd.surface_back->Release();
56 memset (&surface_desc, 0, sizeof (surface_desc));
57 surface_desc.dwSize = sizeof (surface_desc);
58 /* FIXME: that code does not compile. Must know why */
59#if 0
60 surface_desc.dwFlags = DDSD_HEIGHT | DDSD_WIDTH;
61 surface_desc.dwWidth = width;
62 surface_desc.dwHeight = height;
63 IDirectDrawSurface7_SetSurfaceDesc(ddob->dd.surface_back, &surface_desc, NULL);
64#else
65 surface_desc.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH;
66 surface_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
67 surface_desc.dwWidth = ddob->width;
68 surface_desc.dwHeight = ddob->height;
69 ddob->dd.object->CreateSurface(&surface_desc, &ddob->dd.surface_back, NULL);
70#endif
71}
diff --git a/libraries/evas/src/modules/engines/software_16_ddraw/evas_engine.c b/libraries/evas/src/modules/engines/software_16_ddraw/evas_engine.c
new file mode 100644
index 0000000..9629781
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_ddraw/evas_engine.c
@@ -0,0 +1,628 @@
1#include "evas_common.h"
2#include "evas_private.h"
3#include "evas_engine.h"
4#include "Evas_Engine_Software_16_DDraw.h"
5#include "evas_common_soft16.h"
6
7int _evas_engine_soft16_ddraw_log_dom = -1;
8/* function tables - filled in later (func and parent func) */
9static Evas_Func func, pfunc;
10
11/* engine struct data */
12typedef struct _Render_Engine Render_Engine;
13
14struct _Render_Engine
15{
16 HWND window;
17 LPDIRECTDRAW object;
18 LPDIRECTDRAWSURFACE surface_primary;
19 LPDIRECTDRAWSURFACE surface_back;
20 LPDIRECTDRAWSURFACE surface_source;
21 int width;
22 int height;
23 int rotation;
24 Tilebuf *tb;
25 Tilebuf_Rect *rects;
26 Tilebuf_Rect *cur_rect;
27 DDraw_Output_Buffer *ddob;
28 Soft16_Image *tmp_out; /* used by indirect render, like rotation */
29 HRGN clip_rects;
30 unsigned char end : 1;
31};
32
33/* prototypes we will use here */
34
35static void *eng_info(Evas *e);
36static void eng_info_free(Evas *e, void *info);
37static int eng_setup(Evas *e, void *info);
38static void eng_output_free(void *data);
39static void eng_output_resize(void *data, int w, int h);
40static void eng_output_tile_size_set(void *data, int w, int h);
41static void eng_output_redraws_rect_add(void *data, int x, int y, int w, int h);
42static void eng_output_redraws_rect_del(void *data, int x, int y, int w, int h);
43static void eng_output_redraws_clear(void *data);
44static 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);
45static void eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h);
46static void eng_output_flush(void *data);
47static void eng_output_idle_flush(void *data);
48
49/* engine api this module provides */
50static void *
51eng_info(Evas *e)
52{
53 Evas_Engine_Info_Software_16_DDraw *info;
54 info = calloc(1, sizeof(Evas_Engine_Info_Software_16_DDraw));
55 if (!info) return NULL;
56 info->magic.magic = rand();
57 info->render_mode = EVAS_RENDER_MODE_BLOCKING;
58 return info;
59 e = NULL;
60}
61
62static void
63eng_info_free(Evas *e, void *info)
64{
65 Evas_Engine_Info_Software_16_DDraw *in;
66 in = (Evas_Engine_Info_Software_16_DDraw *)info;
67 free(in);
68}
69
70static void
71_tmp_out_alloc(Render_Engine *re)
72{
73 Tilebuf_Rect *r;
74 int w = 0, h = 0;
75
76 EINA_INLIST_FOREACH(re->rects, r)
77 {
78 if (r->w > w) w = r->w;
79 if (r->h > h) h = r->h;
80 }
81
82 if (re->tmp_out)
83 {
84 if ((re->tmp_out->cache_entry.w < w) || (re->tmp_out->cache_entry.h < h))
85 {
86 evas_cache_image_drop(&re->tmp_out->cache_entry);
87 re->tmp_out = NULL;
88 }
89 }
90
91 if (!re->tmp_out)
92 {
93 Soft16_Image *im;
94
95 im = (Soft16_Image *) evas_cache_image_empty(evas_common_soft16_image_cache_get());
96 im->cache_entry.flags.alpha = 0;
97 evas_cache_image_surface_alloc(&im->cache_entry, w, h);
98
99 re->tmp_out = im;
100 }
101}
102
103
104static int
105eng_setup(Evas *e, void *in)
106{
107 Render_Engine *re;
108 Evas_Engine_Info_Software_16_DDraw *info;
109
110 info = (Evas_Engine_Info_Software_16_DDraw *)in;
111 if (!e->engine.data.output)
112 {
113 /* the only check - simplistic, i know, but enough for this
114 * "special purpose" engine. Remember it is meant to be used
115 * for limited power devices that have a 16bit display mode
116 * and no real other acceleration, and high resolution so we
117 * can pre-dither into 16bpp. */
118 if (info->info.depth != 16)
119 return 0;
120 /* do common routine init - we wil at least use it for core
121 * image loading and font loading/glyph rendering & placement */
122 evas_common_cpu_init();
123
124 evas_common_blend_init();
125 evas_common_image_init();
126 evas_common_convert_init();
127 evas_common_scale_init();
128 evas_common_rectangle_init();
129 evas_common_polygon_init();
130 evas_common_line_init();
131 evas_common_font_init();
132 evas_common_draw_init();
133 evas_common_tilebuf_init();
134 evas_common_soft16_image_init();
135
136 /* render engine specific data */
137 re = calloc(1, sizeof(Render_Engine));
138 if (!re)
139 return 0;
140 e->engine.data.output = re;
141 re->window = info->info.window;
142 re->object = info->info.object;
143 re->surface_primary = info->info.surface_primary;
144 re->surface_back = info->info.surface_back;
145 re->surface_source = info->info.surface_source;
146 re->width = e->output.w;
147 re->height = e->output.h;
148 re->rotation = info->info.rotation;
149 re->tb = evas_common_tilebuf_new(e->output.w, e->output.h);
150 if (re->tb)
151 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
152 }
153 else
154 {
155 /* we changed the info after first init - do a re-eval where
156 * appropriate */
157 if (info->info.depth != 16)
158 return 0;
159 re = e->engine.data.output;
160 if (re->tb) evas_common_tilebuf_free(re->tb);
161 re->window = info->info.window;
162 re->object = info->info.object;
163 re->surface_primary = info->info.surface_primary;
164 re->surface_back = info->info.surface_back;
165 re->surface_source = info->info.surface_source;
166 re->width = e->output.w;
167 re->height = e->output.h;
168 re->rotation = info->info.rotation;
169 re->tb = evas_common_tilebuf_new(e->output.w, e->output.h);
170 if (re->tb)
171 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
172 if (re->tmp_out)
173 {
174 evas_cache_image_drop(&re->tmp_out->cache_entry);
175 re->tmp_out = NULL;
176 }
177 }
178 if (!e->engine.data.output) return 0;
179 /* add a draw context if we dont have one */
180 if (!e->engine.data.context)
181 e->engine.data.context =
182 e->engine.func->context_new(e->engine.data.output);
183
184 return 1;
185}
186
187static void
188eng_output_free(void *data)
189{
190 Render_Engine *re;
191
192 re = (Render_Engine *)data;
193 if (re->ddob) evas_software_ddraw_output_buffer_free(re->ddob, 0);
194 if (re->clip_rects) DeleteObject(re->clip_rects);
195 if (re->tb) evas_common_tilebuf_free(re->tb);
196 if (re->rects) evas_common_tilebuf_free_render_rects(re->rects);
197 if (re->tmp_out) evas_cache_image_drop(&re->tmp_out->cache_entry);
198 free(re);
199
200 evas_common_font_shutdown();
201 evas_common_image_shutdown();
202 evas_common_soft16_image_shutdown();
203}
204
205static void
206eng_output_resize(void *data, int w, int h)
207{
208 Render_Engine *re;
209
210 re = (Render_Engine *)data;
211
212 if ((re->width == w) && (re->height == h)) return;
213
214 if (re->ddob)
215 evas_software_ddraw_surface_resize(re->ddob);
216
217 evas_common_tilebuf_free(re->tb);
218 re->width = w;
219 re->height = h;
220 re->tb = evas_common_tilebuf_new(w, h);
221 if (re->tb)
222 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
223 if (re->ddob)
224 {
225 evas_software_ddraw_output_buffer_free(re->ddob, 0);
226 re->ddob = NULL;
227 }
228 if (re->clip_rects)
229 {
230 DeleteObject(re->clip_rects);
231 re->clip_rects = NULL;
232 }
233 if (re->tmp_out)
234 {
235 evas_cache_image_drop(&re->tmp_out->cache_entry);
236 re->tmp_out = NULL;
237 }
238}
239
240static void
241eng_output_tile_size_set(void *data, int w, int h)
242{
243 Render_Engine *re;
244
245 re = (Render_Engine *)data;
246 evas_common_tilebuf_set_tile_size(re->tb, w, h);
247}
248
249static void
250eng_output_redraws_rect_add(void *data, int x, int y, int w, int h)
251{
252 Render_Engine *re;
253
254 re = (Render_Engine *)data;
255 evas_common_tilebuf_add_redraw(re->tb, x, y, w, h);
256}
257
258static void
259eng_output_redraws_rect_del(void *data, int x, int y, int w, int h)
260{
261 Render_Engine *re;
262
263 re = (Render_Engine *)data;
264 evas_common_tilebuf_del_redraw(re->tb, x, y, w, h);
265}
266
267static void
268eng_output_redraws_clear(void *data)
269{
270 Render_Engine *re;
271
272 re = (Render_Engine *)data;
273 evas_common_tilebuf_clear(re->tb);
274}
275
276static inline void
277_output_buffer_alloc(Render_Engine *re)
278{
279 int width;
280 int height;
281
282 if (re->ddob) return;
283
284 if ((re->rotation == 0) || (re->rotation == 180))
285 {
286 width = re->width;
287 height = re->height;
288 }
289 else
290 {
291 width = re->height;
292 height = re->width;
293 }
294
295 re->ddob = evas_software_ddraw_output_buffer_new(re->window,
296 re->object,
297 re->surface_primary,
298 re->surface_back,
299 re->surface_source,
300 width,
301 height);
302}
303
304static void *
305eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch)
306{
307 Render_Engine *re;
308 Tilebuf_Rect *rect;
309 int ux, uy, uw, uh;
310
311 re = (Render_Engine *)data;
312 if (re->end)
313 {
314 re->end = 0;
315 return NULL;
316 }
317 if (!re->rects)
318 {
319 re->rects = evas_common_tilebuf_get_render_rects(re->tb);
320 if (!re->rects) return NULL;
321
322 re->cur_rect = re->rects;
323 _output_buffer_alloc(re);
324 if (re->rotation != 0) _tmp_out_alloc(re); /* grows if required */
325 }
326 if (!re->cur_rect)
327 {
328 if (re->rects) evas_common_tilebuf_free_render_rects(re->rects);
329 re->rects = NULL;
330 return NULL;
331 }
332 rect = re->cur_rect;
333 ux = rect->x; uy = rect->y; uw = rect->w; uh = rect->h;
334 re->cur_rect = (Tilebuf_Rect *)((EINA_INLIST_GET(re->cur_rect))->next);
335 if (!re->cur_rect)
336 {
337 evas_common_tilebuf_free_render_rects(re->rects);
338 re->rects = NULL;
339 re->end = 1;
340 }
341
342 *x = ux; *y = uy; *w = uw; *h = uh;
343 if (re->rotation == 0)
344 {
345 *cx = ux; *cy = uy; *cw = uw; *ch = uh;
346 return &re->ddob->im;
347 }
348 else
349 {
350 *cx = 0; *cy = 0; *cw = uw; *ch = uh;
351 return re->tmp_out;
352 }
353}
354
355static void
356_blit_rot_90(Soft16_Image *dst, const Soft16_Image *src,
357 int out_x, int out_y, int w, int h)
358{
359 DATA16 *dp, *sp;
360 int x, y;
361
362 sp = src->pixels;
363 dp = dst->pixels + (out_x +
364 (w + out_y - 1) * dst->stride);
365
366 for (y = 0; y < h; y++)
367 {
368 DATA16 *dp_itr, *sp_itr;
369
370 sp_itr = sp;
371 dp_itr = dp;
372
373 for (x = 0; x < w; x++)
374 {
375 *dp_itr = *sp_itr;
376
377 sp_itr++;
378 dp_itr -= dst->stride;
379 }
380 sp += src->stride;
381 dp++;
382 }
383}
384
385static void
386_blit_rot_180(Soft16_Image *dst, const Soft16_Image *src,
387 int out_x, int out_y, int w, int h)
388{
389 DATA16 *dp, *sp;
390 int x, y;
391
392 sp = src->pixels;
393 dp = dst->pixels + ((w + out_x - 1) +
394 (h + out_y - 1) * dst->stride);
395
396 for (y = 0; y < h; y++)
397 {
398 DATA16 *dp_itr, *sp_itr;
399
400 sp_itr = sp;
401 dp_itr = dp;
402
403 for (x = 0; x < w; x++)
404 {
405 *dp_itr = *sp_itr;
406
407 sp_itr++;
408 dp_itr--;
409 }
410 sp += src->stride;
411 dp -= dst->stride;
412 }
413}
414
415static void
416_blit_rot_270(Soft16_Image *dst, const Soft16_Image *src,
417 int out_x, int out_y, int w, int h)
418{
419 DATA16 *dp, *sp;
420 int x, y;
421
422 sp = src->pixels;
423 dp = dst->pixels + ((h + out_x - 1) +
424 out_y * dst->stride);
425
426 for (y = 0; y < h; y++)
427 {
428 DATA16 *dp_itr, *sp_itr;
429
430 sp_itr = sp;
431 dp_itr = dp;
432
433 for (x = 0; x < w; x++)
434 {
435 *dp_itr = *sp_itr;
436
437 sp_itr++;
438 dp_itr += dst->stride;
439 }
440 sp += src->stride;
441 dp--;
442 }
443}
444
445static void
446_tmp_out_process(Render_Engine *re, int out_x, int out_y, int w, int h)
447{
448 Soft16_Image *d, *s;
449
450 d = &re->ddob->im;
451 s = re->tmp_out;
452
453 if ((w < 1) || (h < 1) || (out_x >= d->cache_entry.w) || (out_y >= d->cache_entry.h))
454 return;
455
456 if (re->rotation == 90)
457 _blit_rot_90(d, s, out_x, out_y, w, h);
458 else if (re->rotation == 180)
459 _blit_rot_180(d, s, out_x, out_y, w, h);
460 else if (re->rotation == 270)
461 _blit_rot_270(d, s, out_x, out_y, w, h);
462}
463
464static void
465eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h)
466{
467 Render_Engine *re;
468 HRGN region;
469 int xx;
470 int yy;
471 int width;
472 int height;
473
474 re = (Render_Engine *)data;
475
476 if (!re->clip_rects)
477 re->clip_rects = CreateRectRgn(0, 0, 0, 0);
478
479 if (re->rotation == 0)
480 {
481 xx = x;
482 yy = y;
483 width = w;
484 height = h;
485 }
486 else if (re->rotation == 90)
487 {
488 xx = y;
489 yy = re->width - w - x;
490 width = h;
491 height = w;
492 }
493 else if (re->rotation == 180)
494 {
495 xx = re->width - w - x;
496 yy = re->height - h - y;
497 width = w;
498 height = h;
499 }
500 else if (re->rotation == 270)
501 {
502 xx = re->height - h - y;
503 yy = x;
504 width = h;
505 height = w;
506 }
507
508 region = CreateRectRgn(xx, yy, xx + width, yy + height);
509
510 if (re->rotation != 0)
511 _tmp_out_process(re, xx, yy, w, h);
512 CombineRgn(re->clip_rects, re->clip_rects, region, RGN_OR);
513}
514
515static void
516eng_output_flush(void *data)
517{
518 Render_Engine *re;
519 void *ddraw_data;
520 int ddraw_width;
521 int ddraw_height;
522 int ddraw_pitch;
523 int ddraw_depth;
524
525 re = (Render_Engine *)data;
526 if (re->clip_rects)
527 {
528 /* FIXME : i have to manage that */
529/* XSetRegion(re->disp, re->gc, re->clip_rects); */
530 DeleteObject(re->clip_rects);
531 re->clip_rects = NULL;
532 }
533 else return;
534
535 evas_software_ddraw_output_buffer_paste(re->ddob);
536
537 /* FIXME : i have to manage that */
538/* XSetClipMask(re->disp, re->gc, None); */
539}
540
541static void
542eng_output_idle_flush(void *data)
543{
544 Render_Engine *re;
545
546 re = (Render_Engine *)data;
547 if (re->ddob)
548 {
549 evas_software_ddraw_output_buffer_free(re->ddob, 0);
550 re->ddob = NULL;
551 }
552 if (re->clip_rects)
553 {
554 DeleteObject(re->clip_rects);
555 re->clip_rects = NULL;
556 }
557 if (re->tmp_out)
558 {
559 evas_cache_image_drop(&re->tmp_out->cache_entry);
560 re->tmp_out = NULL;
561 }
562}
563
564static Eina_Bool
565eng_canvas_alpha_get(void *data, void *context)
566{
567 return EINA_FALSE;
568}
569
570/* module advertising code */
571static int
572module_open(Evas_Module *em)
573{
574 if (!em) return 0;
575 /* get whatever engine module we inherit from */
576 if (!_evas_module_engine_inherit(&pfunc, "software_16")) return 0;
577 _evas_engine_soft16_ddraw_log_dom = eina_log_domain_register
578 ("evas-software_16_ddraw", EVAS_DEFAULT_LOG_COLOR);
579 if (_evas_engine_soft16_ddraw_log_dom < 0)
580 {
581 EINA_LOG_ERR("Can not create a module log domain.");
582 return 0;
583 }
584 /* store it for later use */
585 func = pfunc;
586 /* now to override methods */
587#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
588 ORD(info);
589 ORD(info_free);
590 ORD(setup);
591 ORD(canvas_alpha_get);
592 ORD(output_free);
593 ORD(output_resize);
594 ORD(output_tile_size_set);
595 ORD(output_redraws_rect_add);
596 ORD(output_redraws_rect_del);
597 ORD(output_redraws_clear);
598 ORD(output_redraws_next_update_get);
599 ORD(output_redraws_next_update_push);
600 ORD(output_flush);
601 ORD(output_idle_flush);
602 /* now advertise out own api */
603 em->functions = (void *)(&func);
604 return 1;
605}
606
607static void
608module_close(Evas_Module *em)
609{
610 eina_log_domain_unregister(_evas_engine_soft16_ddraw_log_dom);
611}
612
613static Evas_Module_Api evas_modapi =
614{
615 EVAS_MODULE_API_VERSION,
616 "software_16_ddraw",
617 "none",
618 {
619 module_open,
620 module_close
621 }
622};
623
624EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_16_ddraw);
625
626#ifndef EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW
627EVAS_EINA_MODULE_DEFINE(engine, software_16_ddraw);
628#endif
diff --git a/libraries/evas/src/modules/engines/software_16_ddraw/evas_engine.h b/libraries/evas/src/modules/engines/software_16_ddraw/evas_engine.h
new file mode 100644
index 0000000..fe85e97
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_ddraw/evas_engine.h
@@ -0,0 +1,85 @@
1#ifndef __EVAS_ENGINE_H__
2#define __EVAS_ENGINE_H__
3
4#include <windows.h>
5#include <ddraw.h>
6
7#include "evas_common_soft16.h"
8
9extern int _evas_engine_soft16_ddraw_log_dom ;
10#ifdef ERR
11# undef ERR
12#endif
13#define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_soft16_ddraw_log_dom, __VA_ARGS__)
14
15#ifdef DBG
16# undef DBG
17#endif
18#define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_soft16_ddraw_log_dom, __VA_ARGS__)
19
20#ifdef INF
21# undef INF
22#endif
23#define INF(...) EINA_LOG_DOM_INFO(_evas_engine_soft16_ddraw_log_dom, __VA_ARGS__)
24
25#ifdef WRN
26# undef WRN
27#endif
28#define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_soft16_ddraw_log_dom, __VA_ARGS__)
29
30#ifdef CRIT
31# undef CRIT
32#endif
33#define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_soft16_ddraw_log_dom, __VA_ARGS__)
34
35typedef struct _DDraw_Output_Buffer DDraw_Output_Buffer;
36
37struct _DDraw_Output_Buffer
38{
39 Soft16_Image *im;
40 struct {
41 HWND window;
42 LPDIRECTDRAW object;
43 LPDIRECTDRAWSURFACE surface_primary;
44 LPDIRECTDRAWSURFACE surface_back;
45 LPDIRECTDRAWSURFACE surface_source;
46 } dd;
47 void *data;
48 int x;
49 int y;
50 int width;
51 int height;
52 int depth;
53 int pitch;
54};
55
56/****/
57
58#ifdef __cplusplus
59extern "C" {
60#endif
61
62
63DDraw_Output_Buffer *evas_software_ddraw_output_buffer_new (HWND window,
64 LPDIRECTDRAW object,
65 LPDIRECTDRAWSURFACE surface_primary,
66 LPDIRECTDRAWSURFACE surface_back,
67 LPDIRECTDRAWSURFACE surface_source,
68 int width,
69 int height);
70void evas_software_ddraw_output_buffer_free (DDraw_Output_Buffer *ddob, int sync);
71void evas_software_ddraw_output_buffer_paste (DDraw_Output_Buffer *ddob);
72
73
74void *evas_software_ddraw_lock(DDraw_Output_Buffer *ddob, int *ddraw_width, int *ddraw_height, int *ddraw_pitch, int *ddraw_depth);
75
76void evas_software_ddraw_unlock_and_flip(DDraw_Output_Buffer *ddob);
77
78void evas_software_ddraw_surface_resize(DDraw_Output_Buffer *ddob);
79
80
81#ifdef __cplusplus
82}
83#endif
84
85#endif /* __EVAS_ENGINE_H__ */
diff --git a/libraries/evas/src/modules/engines/software_16_sdl/Evas_Engine_SDL_16.h b/libraries/evas/src/modules/engines/software_16_sdl/Evas_Engine_SDL_16.h
new file mode 100644
index 0000000..5a133fe
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_sdl/Evas_Engine_SDL_16.h
@@ -0,0 +1,25 @@
1#ifndef _EVAS_ENGINE_SDL_16_H
2# define _EVAS_ENGINE_SDL_16_H
3
4#include <SDL/SDL.h>
5
6typedef struct _Evas_Engine_Info_SDL_16 Evas_Engine_Info_SDL_16;
7struct _Evas_Engine_Info_SDL_16
8{
9 /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
10 /* at you and make nasty noises */
11 Evas_Engine_Info magic;
12
13 struct {
14 int rotation;
15 int fullscreen : 1;
16 int hwsurface : 1;
17 int noframe : 1;
18 int alpha : 1;
19 } info;
20
21 /* non-blocking or blocking mode */
22 Evas_Engine_Render_Mode render_mode;
23};
24
25#endif
diff --git a/libraries/evas/src/modules/engines/software_16_sdl/Makefile.am b/libraries/evas/src/modules/engines/software_16_sdl/Makefile.am
new file mode 100644
index 0000000..af0197d
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_sdl/Makefile.am
@@ -0,0 +1,40 @@
1AUTOMAKE_OPTIONS = 1.4 foreign
2
3MAINTAINERCLEANFILES = Makefile.in
4
5INCLUDES = -I. -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/lib/include @FREETYPE_CFLAGS@ @PIXMAN_CFLAGS@ @SDL_CFLAGS@ @EINA_CFLAGS@
6
7if BUILD_ENGINE_SOFTWARE_SDL
8
9SOFTWARE_SDL_SOURCES = \
10evas_engine.c \
11evas_engine.h
12
13
14includes_HEADERS = Evas_Engine_SDL_16.h
15includesdir = $(includedir)/evas-@VMAJ@
16
17if !EVAS_STATIC_BUILD_SOFTWARE_SDL
18
19pkgdir = $(libdir)/evas/modules/engines/software_16_sdl/$(MODULE_ARCH)
20pkg_LTLIBRARIES = module.la
21
22module_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
23
24module_la_LIBADD = @EINA_LIBS@ @SDL_LIBS@ $(top_builddir)/src/lib/libevas.la
25module_la_LDFLAGS = -no-undefined -module -avoid-version -L$(top_builddir)/src/lib -L$(top_builddir)/src/lib/.libs
26
27else
28
29noinst_LTLIBRARIES = libevas_engine_software_16_sdl.la
30
31libevas_engine_software_16_sdl_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
32libevas_engine_software_16_sdl_la_LIBADD = @SDL_LIBS@
33
34endif
35endif
36
37EXTRA_DIST = \
38evas_engine.c \
39evas_engine.h \
40Evas_Engine_SDL_16.h
diff --git a/libraries/evas/src/modules/engines/software_16_sdl/Makefile.in b/libraries/evas/src/modules/engines/software_16_sdl/Makefile.in
new file mode 100644
index 0000000..219e392
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_sdl/Makefile.in
@@ -0,0 +1,780 @@
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_sdl
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)
84libevas_engine_software_16_sdl_la_DEPENDENCIES =
85am__libevas_engine_software_16_sdl_la_SOURCES_DIST = evas_engine.c \
86 evas_engine.h
87@BUILD_ENGINE_SOFTWARE_SDL_TRUE@am__objects_1 = evas_engine.lo
88@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@am_libevas_engine_software_16_sdl_la_OBJECTS = $(am__objects_1)
89libevas_engine_software_16_sdl_la_OBJECTS = \
90 $(am_libevas_engine_software_16_sdl_la_OBJECTS)
91AM_V_lt = $(am__v_lt_$(V))
92am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
93am__v_lt_0 = --silent
94@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@am_libevas_engine_software_16_sdl_la_rpath =
95@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
96am__module_la_SOURCES_DIST = evas_engine.c evas_engine.h
97@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@am_module_la_OBJECTS = $(am__objects_1)
98module_la_OBJECTS = $(am_module_la_OBJECTS)
99module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
100 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
101 $(module_la_LDFLAGS) $(LDFLAGS) -o $@
102@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@am_module_la_rpath = -rpath \
103@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@ $(pkgdir)
104DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
105depcomp = $(SHELL) $(top_srcdir)/depcomp
106am__depfiles_maybe = depfiles
107am__mv = mv -f
108COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
109 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
110LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
111 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
112 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
113 $(AM_CFLAGS) $(CFLAGS)
114AM_V_CC = $(am__v_CC_$(V))
115am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
116am__v_CC_0 = @echo " CC " $@;
117AM_V_at = $(am__v_at_$(V))
118am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
119am__v_at_0 = @
120CCLD = $(CC)
121LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
122 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
123 $(AM_LDFLAGS) $(LDFLAGS) -o $@
124AM_V_CCLD = $(am__v_CCLD_$(V))
125am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
126am__v_CCLD_0 = @echo " CCLD " $@;
127AM_V_GEN = $(am__v_GEN_$(V))
128am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
129am__v_GEN_0 = @echo " GEN " $@;
130SOURCES = $(libevas_engine_software_16_sdl_la_SOURCES) \
131 $(module_la_SOURCES)
132DIST_SOURCES = $(am__libevas_engine_software_16_sdl_la_SOURCES_DIST) \
133 $(am__module_la_SOURCES_DIST)
134am__includes_HEADERS_DIST = Evas_Engine_SDL_16.h
135HEADERS = $(includes_HEADERS)
136ETAGS = etags
137CTAGS = ctags
138DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
139ACLOCAL = @ACLOCAL@
140ALLOCA = @ALLOCA@
141AMTAR = @AMTAR@
142AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
143AR = @AR@
144AS = @AS@
145AUTOCONF = @AUTOCONF@
146AUTOHEADER = @AUTOHEADER@
147AUTOMAKE = @AUTOMAKE@
148AWK = @AWK@
149CC = @CC@
150CCDEPMODE = @CCDEPMODE@
151CFLAGS = @CFLAGS@
152CHECK_CFLAGS = @CHECK_CFLAGS@
153CHECK_LIBS = @CHECK_LIBS@
154CPP = @CPP@
155CPPFLAGS = @CPPFLAGS@
156CXX = @CXX@
157CXXCPP = @CXXCPP@
158CXXDEPMODE = @CXXDEPMODE@
159CXXFLAGS = @CXXFLAGS@
160CYGPATH_W = @CYGPATH_W@
161DEFS = @DEFS@
162DEPDIR = @DEPDIR@
163DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
164DIRECTFB_LIBS = @DIRECTFB_LIBS@
165DLLTOOL = @DLLTOOL@
166DSYMUTIL = @DSYMUTIL@
167DUMPBIN = @DUMPBIN@
168ECHO_C = @ECHO_C@
169ECHO_N = @ECHO_N@
170ECHO_T = @ECHO_T@
171ECORE_EVAS_CFLAGS = @ECORE_EVAS_CFLAGS@
172ECORE_EVAS_LIBS = @ECORE_EVAS_LIBS@
173EDB_CFLAGS = @EDB_CFLAGS@
174EDB_LIBS = @EDB_LIBS@
175EDJE_CFLAGS = @EDJE_CFLAGS@
176EDJE_LIBS = @EDJE_LIBS@
177EET_CFLAGS = @EET_CFLAGS@
178EET_LIBS = @EET_LIBS@
179EFL_COVERAGE_CFLAGS = @EFL_COVERAGE_CFLAGS@
180EFL_COVERAGE_LIBS = @EFL_COVERAGE_LIBS@
181EFL_FNMATCH_LIBS = @EFL_FNMATCH_LIBS@
182EGREP = @EGREP@
183EINA_CFLAGS = @EINA_CFLAGS@
184EINA_LIBS = @EINA_LIBS@
185EVAS_CFLAGS = @EVAS_CFLAGS@
186EVAS_LIBS = @EVAS_LIBS@
187EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
188EVIL_CFLAGS = @EVIL_CFLAGS@
189EVIL_LIBS = @EVIL_LIBS@
190EXEEXT = @EXEEXT@
191FGREP = @FGREP@
192FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
193FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
194FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
195FREETYPE_LIBS = @FREETYPE_LIBS@
196FRIBIDI_CFLAGS = @FRIBIDI_CFLAGS@
197FRIBIDI_LIBS = @FRIBIDI_LIBS@
198GL_EET_CFLAGS = @GL_EET_CFLAGS@
199GL_EET_LIBS = @GL_EET_LIBS@
200GREP = @GREP@
201HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@
202HARFBUZZ_LIBS = @HARFBUZZ_LIBS@
203INSTALL = @INSTALL@
204INSTALL_DATA = @INSTALL_DATA@
205INSTALL_PROGRAM = @INSTALL_PROGRAM@
206INSTALL_SCRIPT = @INSTALL_SCRIPT@
207INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
208LD = @LD@
209LDFLAGS = @LDFLAGS@
210LIBOBJS = @LIBOBJS@
211LIBS = @LIBS@
212LIBTOOL = @LIBTOOL@
213LINEBREAK_CFLAGS = @LINEBREAK_CFLAGS@
214LINEBREAK_LIBS = @LINEBREAK_LIBS@
215LIPO = @LIPO@
216LN_S = @LN_S@
217LTLIBOBJS = @LTLIBOBJS@
218MAKEINFO = @MAKEINFO@
219MKDIR_P = @MKDIR_P@
220MODULE_ARCH = @MODULE_ARCH@
221NM = @NM@
222NMEDIT = @NMEDIT@
223OBJC = @OBJC@
224OBJCDEPMODE = @OBJCDEPMODE@
225OBJCFLAGS = @OBJCFLAGS@
226OBJDUMP = @OBJDUMP@
227OBJEXT = @OBJEXT@
228OTOOL = @OTOOL@
229OTOOL64 = @OTOOL64@
230PACKAGE = @PACKAGE@
231PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
232PACKAGE_NAME = @PACKAGE_NAME@
233PACKAGE_STRING = @PACKAGE_STRING@
234PACKAGE_TARNAME = @PACKAGE_TARNAME@
235PACKAGE_URL = @PACKAGE_URL@
236PACKAGE_VERSION = @PACKAGE_VERSION@
237PATH_SEPARATOR = @PATH_SEPARATOR@
238PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
239PIXMAN_LIBS = @PIXMAN_LIBS@
240PKG_CONFIG = @PKG_CONFIG@
241PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
242PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
243PNG_CFLAGS = @PNG_CFLAGS@
244PNG_LIBS = @PNG_LIBS@
245RANLIB = @RANLIB@
246SDL_CFLAGS = @SDL_CFLAGS@
247SDL_LIBS = @SDL_LIBS@
248SED = @SED@
249SET_MAKE = @SET_MAKE@
250SHELL = @SHELL@
251SHM_OPEN_LINK = @SHM_OPEN_LINK@
252STRIP = @STRIP@
253SVG_CFLAGS = @SVG_CFLAGS@
254SVG_LIBS = @SVG_LIBS@
255VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
256VALGRIND_LIBS = @VALGRIND_LIBS@
257VERSION = @VERSION@
258VMAJ = @VMAJ@
259WIN32_CFLAGS = @WIN32_CFLAGS@
260WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
261XCB_CFLAGS = @XCB_CFLAGS@
262XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
263XCB_GL_LIBS = @XCB_GL_LIBS@
264XCB_LIBS = @XCB_LIBS@
265XEXT_CFLAGS = @XEXT_CFLAGS@
266XEXT_LIBS = @XEXT_LIBS@
267XMKMF = @XMKMF@
268X_CFLAGS = @X_CFLAGS@
269X_EXTRA_LIBS = @X_EXTRA_LIBS@
270X_LIBS = @X_LIBS@
271X_PRE_LIBS = @X_PRE_LIBS@
272abs_builddir = @abs_builddir@
273abs_srcdir = @abs_srcdir@
274abs_top_builddir = @abs_top_builddir@
275abs_top_srcdir = @abs_top_srcdir@
276ac_ct_CC = @ac_ct_CC@
277ac_ct_CXX = @ac_ct_CXX@
278ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
279ac_ct_OBJC = @ac_ct_OBJC@
280altivec_cflags = @altivec_cflags@
281am__include = @am__include@
282am__leading_dot = @am__leading_dot@
283am__quote = @am__quote@
284am__tar = @am__tar@
285am__untar = @am__untar@
286bindir = @bindir@
287build = @build@
288build_alias = @build_alias@
289build_cpu = @build_cpu@
290build_os = @build_os@
291build_vendor = @build_vendor@
292builddir = @builddir@
293datadir = @datadir@
294datarootdir = @datarootdir@
295dlopen_libs = @dlopen_libs@
296docdir = @docdir@
297dvidir = @dvidir@
298edje_cc = @edje_cc@
299efl_doxygen = @efl_doxygen@
300efl_have_doxygen = @efl_have_doxygen@
301evas_engine_buffer_cflags = @evas_engine_buffer_cflags@
302evas_engine_buffer_libs = @evas_engine_buffer_libs@
303evas_engine_direct3d_cflags = @evas_engine_direct3d_cflags@
304evas_engine_direct3d_libs = @evas_engine_direct3d_libs@
305evas_engine_directfb_cflags = @evas_engine_directfb_cflags@
306evas_engine_directfb_libs = @evas_engine_directfb_libs@
307evas_engine_fb_cflags = @evas_engine_fb_cflags@
308evas_engine_fb_libs = @evas_engine_fb_libs@
309evas_engine_gl_cocoa_cflags = @evas_engine_gl_cocoa_cflags@
310evas_engine_gl_cocoa_libs = @evas_engine_gl_cocoa_libs@
311evas_engine_gl_common_libs = @evas_engine_gl_common_libs@
312evas_engine_gl_sdl_cflags = @evas_engine_gl_sdl_cflags@
313evas_engine_gl_sdl_libs = @evas_engine_gl_sdl_libs@
314evas_engine_gl_xcb_cflags = @evas_engine_gl_xcb_cflags@
315evas_engine_gl_xcb_libs = @evas_engine_gl_xcb_libs@
316evas_engine_gl_xlib_cflags = @evas_engine_gl_xlib_cflags@
317evas_engine_gl_xlib_libs = @evas_engine_gl_xlib_libs@
318evas_engine_psl1ght_cflags = @evas_engine_psl1ght_cflags@
319evas_engine_psl1ght_libs = @evas_engine_psl1ght_libs@
320evas_engine_software_16_ddraw_cflags = @evas_engine_software_16_ddraw_cflags@
321evas_engine_software_16_ddraw_libs = @evas_engine_software_16_ddraw_libs@
322evas_engine_software_16_sdl_cflags = @evas_engine_software_16_sdl_cflags@
323evas_engine_software_16_sdl_libs = @evas_engine_software_16_sdl_libs@
324evas_engine_software_16_wince_cflags = @evas_engine_software_16_wince_cflags@
325evas_engine_software_16_wince_libs = @evas_engine_software_16_wince_libs@
326evas_engine_software_16_x11_cflags = @evas_engine_software_16_x11_cflags@
327evas_engine_software_16_x11_libs = @evas_engine_software_16_x11_libs@
328evas_engine_software_8_x11_cflags = @evas_engine_software_8_x11_cflags@
329evas_engine_software_8_x11_libs = @evas_engine_software_8_x11_libs@
330evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
331evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
332evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
333evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
334evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
335evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
336evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
337evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
338evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
339evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
340evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@
341evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@
342evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@
343evas_image_loader_edb_libs = @evas_image_loader_edb_libs@
344evas_image_loader_eet_cflags = @evas_image_loader_eet_cflags@
345evas_image_loader_eet_libs = @evas_image_loader_eet_libs@
346evas_image_loader_generic_cflags = @evas_image_loader_generic_cflags@
347evas_image_loader_generic_libs = @evas_image_loader_generic_libs@
348evas_image_loader_gif_cflags = @evas_image_loader_gif_cflags@
349evas_image_loader_gif_libs = @evas_image_loader_gif_libs@
350evas_image_loader_ico_cflags = @evas_image_loader_ico_cflags@
351evas_image_loader_ico_libs = @evas_image_loader_ico_libs@
352evas_image_loader_jpeg_cflags = @evas_image_loader_jpeg_cflags@
353evas_image_loader_jpeg_libs = @evas_image_loader_jpeg_libs@
354evas_image_loader_pmaps_cflags = @evas_image_loader_pmaps_cflags@
355evas_image_loader_pmaps_libs = @evas_image_loader_pmaps_libs@
356evas_image_loader_png_cflags = @evas_image_loader_png_cflags@
357evas_image_loader_png_libs = @evas_image_loader_png_libs@
358evas_image_loader_psd_cflags = @evas_image_loader_psd_cflags@
359evas_image_loader_psd_libs = @evas_image_loader_psd_libs@
360evas_image_loader_svg_cflags = @evas_image_loader_svg_cflags@
361evas_image_loader_svg_libs = @evas_image_loader_svg_libs@
362evas_image_loader_tga_cflags = @evas_image_loader_tga_cflags@
363evas_image_loader_tga_libs = @evas_image_loader_tga_libs@
364evas_image_loader_tiff_cflags = @evas_image_loader_tiff_cflags@
365evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
366evas_image_loader_wbmp_cflags = @evas_image_loader_wbmp_cflags@
367evas_image_loader_wbmp_libs = @evas_image_loader_wbmp_libs@
368evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
369evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
370exec_prefix = @exec_prefix@
371have_evas_engine_gl_x11 = @have_evas_engine_gl_x11@
372have_evas_engine_gl_xcb = @have_evas_engine_gl_xcb@
373have_evas_engine_gl_xlib = @have_evas_engine_gl_xlib@
374have_evas_engine_software_x11 = @have_evas_engine_software_x11@
375have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
376have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
377have_lcov = @have_lcov@
378host = @host@
379host_alias = @host_alias@
380host_cpu = @host_cpu@
381host_os = @host_os@
382host_vendor = @host_vendor@
383htmldir = @htmldir@
384includedir = @includedir@
385infodir = @infodir@
386install_sh = @install_sh@
387libdir = @libdir@
388libexecdir = @libexecdir@
389localedir = @localedir@
390localstatedir = @localstatedir@
391lt_ECHO = @lt_ECHO@
392lt_enable_auto_import = @lt_enable_auto_import@
393mandir = @mandir@
394mkdir_p = @mkdir_p@
395oldincludedir = @oldincludedir@
396pdfdir = @pdfdir@
397pkgconfig_requires_private = @pkgconfig_requires_private@
398prefix = @prefix@
399program_transform_name = @program_transform_name@
400psdir = @psdir@
401pthread_cflags = @pthread_cflags@
402pthread_libs = @pthread_libs@
403release_info = @release_info@
404requirement_evas = @requirement_evas@
405sbindir = @sbindir@
406sharedstatedir = @sharedstatedir@
407srcdir = @srcdir@
408sysconfdir = @sysconfdir@
409target_alias = @target_alias@
410top_build_prefix = @top_build_prefix@
411top_builddir = @top_builddir@
412top_srcdir = @top_srcdir@
413version_info = @version_info@
414AUTOMAKE_OPTIONS = 1.4 foreign
415MAINTAINERCLEANFILES = Makefile.in
416INCLUDES = -I. -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/lib/include @FREETYPE_CFLAGS@ @PIXMAN_CFLAGS@ @SDL_CFLAGS@ @EINA_CFLAGS@
417@BUILD_ENGINE_SOFTWARE_SDL_TRUE@SOFTWARE_SDL_SOURCES = \
418@BUILD_ENGINE_SOFTWARE_SDL_TRUE@evas_engine.c \
419@BUILD_ENGINE_SOFTWARE_SDL_TRUE@evas_engine.h
420
421@BUILD_ENGINE_SOFTWARE_SDL_TRUE@includes_HEADERS = Evas_Engine_SDL_16.h
422@BUILD_ENGINE_SOFTWARE_SDL_TRUE@includesdir = $(includedir)/evas-@VMAJ@
423@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16_sdl/$(MODULE_ARCH)
424@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@pkg_LTLIBRARIES = module.la
425@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@module_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
426@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@module_la_LIBADD = @EINA_LIBS@ @SDL_LIBS@ $(top_builddir)/src/lib/libevas.la
427@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@module_la_LDFLAGS = -no-undefined -module -avoid-version -L$(top_builddir)/src/lib -L$(top_builddir)/src/lib/.libs
428@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@noinst_LTLIBRARIES = libevas_engine_software_16_sdl.la
429@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@libevas_engine_software_16_sdl_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
430@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@libevas_engine_software_16_sdl_la_LIBADD = @SDL_LIBS@
431EXTRA_DIST = \
432evas_engine.c \
433evas_engine.h \
434Evas_Engine_SDL_16.h
435
436all: all-am
437
438.SUFFIXES:
439.SUFFIXES: .c .lo .o .obj
440$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
441 @for dep in $?; do \
442 case '$(am__configure_deps)' in \
443 *$$dep*) \
444 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
445 && { if test -f $@; then exit 0; else break; fi; }; \
446 exit 1;; \
447 esac; \
448 done; \
449 echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/modules/engines/software_16_sdl/Makefile'; \
450 $(am__cd) $(top_srcdir) && \
451 $(AUTOMAKE) --foreign src/modules/engines/software_16_sdl/Makefile
452.PRECIOUS: Makefile
453Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
454 @case '$?' in \
455 *config.status*) \
456 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
457 *) \
458 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
459 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
460 esac;
461
462$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
463 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
464
465$(top_srcdir)/configure: $(am__configure_deps)
466 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
467$(ACLOCAL_M4): $(am__aclocal_m4_deps)
468 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
469$(am__aclocal_m4_deps):
470
471clean-noinstLTLIBRARIES:
472 -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
473 @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
474 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
475 test "$$dir" != "$$p" || dir=.; \
476 echo "rm -f \"$${dir}/so_locations\""; \
477 rm -f "$${dir}/so_locations"; \
478 done
479install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
480 @$(NORMAL_INSTALL)
481 test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
482 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
483 list2=; for p in $$list; do \
484 if test -f $$p; then \
485 list2="$$list2 $$p"; \
486 else :; fi; \
487 done; \
488 test -z "$$list2" || { \
489 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
490 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
491 }
492
493uninstall-pkgLTLIBRARIES:
494 @$(NORMAL_UNINSTALL)
495 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
496 for p in $$list; do \
497 $(am__strip_dir) \
498 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgdir)/$$f'"; \
499 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgdir)/$$f"; \
500 done
501
502clean-pkgLTLIBRARIES:
503 -test -z "$(pkg_LTLIBRARIES)" || rm -f $(pkg_LTLIBRARIES)
504 @list='$(pkg_LTLIBRARIES)'; for p in $$list; do \
505 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
506 test "$$dir" != "$$p" || dir=.; \
507 echo "rm -f \"$${dir}/so_locations\""; \
508 rm -f "$${dir}/so_locations"; \
509 done
510libevas_engine_software_16_sdl.la: $(libevas_engine_software_16_sdl_la_OBJECTS) $(libevas_engine_software_16_sdl_la_DEPENDENCIES)
511 $(AM_V_CCLD)$(LINK) $(am_libevas_engine_software_16_sdl_la_rpath) $(libevas_engine_software_16_sdl_la_OBJECTS) $(libevas_engine_software_16_sdl_la_LIBADD) $(LIBS)
512module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES)
513 $(AM_V_CCLD)$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
514
515mostlyclean-compile:
516 -rm -f *.$(OBJEXT)
517
518distclean-compile:
519 -rm -f *.tab.c
520
521@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_engine.Plo@am__quote@
522
523.c.o:
524@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
525@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
526@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
527@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
528@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
529@am__fastdepCC_FALSE@ $(COMPILE) -c $<
530
531.c.obj:
532@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
533@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
534@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
535@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
536@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
537@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
538
539.c.lo:
540@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
541@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
542@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
543@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
544@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
545@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
546
547mostlyclean-libtool:
548 -rm -f *.lo
549
550clean-libtool:
551 -rm -rf .libs _libs
552install-includesHEADERS: $(includes_HEADERS)
553 @$(NORMAL_INSTALL)
554 test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
555 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
556 for p in $$list; do \
557 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
558 echo "$$d$$p"; \
559 done | $(am__base_list) | \
560 while read files; do \
561 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
562 $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
563 done
564
565uninstall-includesHEADERS:
566 @$(NORMAL_UNINSTALL)
567 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
568 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
569 test -n "$$files" || exit 0; \
570 echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
571 cd "$(DESTDIR)$(includesdir)" && rm -f $$files
572
573ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
574 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
575 unique=`for i in $$list; do \
576 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
577 done | \
578 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
579 END { if (nonempty) { for (i in files) print i; }; }'`; \
580 mkid -fID $$unique
581tags: TAGS
582
583TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
584 $(TAGS_FILES) $(LISP)
585 set x; \
586 here=`pwd`; \
587 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
588 unique=`for i in $$list; do \
589 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
590 done | \
591 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
592 END { if (nonempty) { for (i in files) print i; }; }'`; \
593 shift; \
594 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
595 test -n "$$unique" || unique=$$empty_fix; \
596 if test $$# -gt 0; then \
597 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
598 "$$@" $$unique; \
599 else \
600 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
601 $$unique; \
602 fi; \
603 fi
604ctags: CTAGS
605CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
606 $(TAGS_FILES) $(LISP)
607 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
608 unique=`for i in $$list; do \
609 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
610 done | \
611 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
612 END { if (nonempty) { for (i in files) print i; }; }'`; \
613 test -z "$(CTAGS_ARGS)$$unique" \
614 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
615 $$unique
616
617GTAGS:
618 here=`$(am__cd) $(top_builddir) && pwd` \
619 && $(am__cd) $(top_srcdir) \
620 && gtags -i $(GTAGS_ARGS) "$$here"
621
622distclean-tags:
623 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
624
625distdir: $(DISTFILES)
626 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
627 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
628 list='$(DISTFILES)'; \
629 dist_files=`for file in $$list; do echo $$file; done | \
630 sed -e "s|^$$srcdirstrip/||;t" \
631 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
632 case $$dist_files in \
633 */*) $(MKDIR_P) `echo "$$dist_files" | \
634 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
635 sort -u` ;; \
636 esac; \
637 for file in $$dist_files; do \
638 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
639 if test -d $$d/$$file; then \
640 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
641 if test -d "$(distdir)/$$file"; then \
642 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
643 fi; \
644 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
645 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
646 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
647 fi; \
648 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
649 else \
650 test -f "$(distdir)/$$file" \
651 || cp -p $$d/$$file "$(distdir)/$$file" \
652 || exit 1; \
653 fi; \
654 done
655check-am: all-am
656check: check-am
657all-am: Makefile $(LTLIBRARIES) $(HEADERS)
658installdirs:
659 for dir in "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includesdir)"; do \
660 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
661 done
662install: install-am
663install-exec: install-exec-am
664install-data: install-data-am
665uninstall: uninstall-am
666
667install-am: all-am
668 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
669
670installcheck: installcheck-am
671install-strip:
672 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
673 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
674 `test -z '$(STRIP)' || \
675 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
676mostlyclean-generic:
677
678clean-generic:
679
680distclean-generic:
681 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
682 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
683
684maintainer-clean-generic:
685 @echo "This command is intended for maintainers to use"
686 @echo "it deletes files that may require special tools to rebuild."
687 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
688clean: clean-am
689
690clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
691 clean-pkgLTLIBRARIES mostlyclean-am
692
693distclean: distclean-am
694 -rm -rf ./$(DEPDIR)
695 -rm -f Makefile
696distclean-am: clean-am distclean-compile distclean-generic \
697 distclean-tags
698
699dvi: dvi-am
700
701dvi-am:
702
703html: html-am
704
705html-am:
706
707info: info-am
708
709info-am:
710
711install-data-am: install-includesHEADERS install-pkgLTLIBRARIES
712
713install-dvi: install-dvi-am
714
715install-dvi-am:
716
717install-exec-am:
718
719install-html: install-html-am
720
721install-html-am:
722
723install-info: install-info-am
724
725install-info-am:
726
727install-man:
728
729install-pdf: install-pdf-am
730
731install-pdf-am:
732
733install-ps: install-ps-am
734
735install-ps-am:
736
737installcheck-am:
738
739maintainer-clean: maintainer-clean-am
740 -rm -rf ./$(DEPDIR)
741 -rm -f Makefile
742maintainer-clean-am: distclean-am maintainer-clean-generic
743
744mostlyclean: mostlyclean-am
745
746mostlyclean-am: mostlyclean-compile mostlyclean-generic \
747 mostlyclean-libtool
748
749pdf: pdf-am
750
751pdf-am:
752
753ps: ps-am
754
755ps-am:
756
757uninstall-am: uninstall-includesHEADERS uninstall-pkgLTLIBRARIES
758
759.MAKE: install-am install-strip
760
761.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
762 clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
763 ctags distclean distclean-compile distclean-generic \
764 distclean-libtool distclean-tags distdir dvi dvi-am html \
765 html-am info info-am install install-am install-data \
766 install-data-am install-dvi install-dvi-am install-exec \
767 install-exec-am install-html install-html-am \
768 install-includesHEADERS install-info install-info-am \
769 install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
770 install-ps install-ps-am install-strip installcheck \
771 installcheck-am installdirs maintainer-clean \
772 maintainer-clean-generic mostlyclean mostlyclean-compile \
773 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
774 tags uninstall uninstall-am uninstall-includesHEADERS \
775 uninstall-pkgLTLIBRARIES
776
777
778# Tell versions [3.59,3.63) of GNU make to not export all variables.
779# Otherwise a system limit (for SysV at least) may be exceeded.
780.NOEXPORT:
diff --git a/libraries/evas/src/modules/engines/software_16_sdl/evas_engine.c b/libraries/evas/src/modules/engines/software_16_sdl/evas_engine.c
new file mode 100644
index 0000000..02f9341
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_sdl/evas_engine.c
@@ -0,0 +1,1337 @@
1#include <assert.h>
2#include <math.h>
3#include <string.h>
4#include <sys/time.h>
5#include <time.h>
6#include <SDL/SDL.h>
7
8#include "evas_common.h"/* Also includes international specific stuff */
9#include "evas_engine.h"
10int _evas_engine_soft16_sdl_log_dom = -1;
11
12/* function tables - filled in later (func and parent func) */
13static Evas_Func func, pfunc;
14
15static Engine_Image_Entry *_sdl16_image_alloc (void);
16static void _sdl16_image_delete (Engine_Image_Entry *eim);
17
18static int _sdl16_image_constructor (Engine_Image_Entry *ie, void* data);
19static void _sdl16_image_destructor (Engine_Image_Entry *eim);
20
21static void _sdl16_image_dirty_region(Engine_Image_Entry *eim, unsigned int x, unsigned int y, unsigned int w, unsigned int h);
22
23static int _sdl16_image_dirty (Engine_Image_Entry *dst, const Engine_Image_Entry *src);
24
25static int _sdl16_image_size_set (Engine_Image_Entry *dst, const Engine_Image_Entry *src);
26
27static int _sdl16_image_update_data (Engine_Image_Entry* dst, void* engine_data);
28
29static void _sdl16_image_load (Engine_Image_Entry *eim, const Image_Entry* im);
30static int _sdl16_image_mem_size_get(Engine_Image_Entry *eim);
31
32#ifdef DEBUG_SDL
33static void _sdl16_image_debug (const char* context, Engine_Image_Entry* im);
34#endif
35
36static const Evas_Cache_Engine_Image_Func _sdl16_cache_engine_image_cb = {
37 NULL /* key */,
38 _sdl16_image_alloc /* alloc */,
39 _sdl16_image_delete /* dealloc */,
40 _sdl16_image_constructor /* constructor */,
41 _sdl16_image_destructor /* destructor */,
42 _sdl16_image_dirty_region /* dirty_region */,
43 _sdl16_image_dirty /* dirty */,
44 _sdl16_image_size_set /* size_set */,
45 _sdl16_image_update_data /* update_data */,
46 _sdl16_image_load /* load */,
47 _sdl16_image_mem_size_get /* mem_size_get */,
48#ifdef DEBUG_SDL /* debug */
49 _sdl16_image_debug
50#else
51 NULL
52#endif
53};
54
55#define _SDL_UPDATE_PIXELS(EIM) \
56 ((Soft16_Image *) EIM->cache_entry.src)->pixels = EIM->surface->pixels;
57
58#define RMASK565 0xf800
59#define GMASK565 0x07e0
60#define BMASK565 0x001f
61#define AMASK565 0x0000
62
63/* engine api this module provides */
64static void *
65evas_engine_sdl16_info(Evas *e __UNUSED__)
66{
67 Evas_Engine_Info_SDL_16 *info;
68 info = calloc(1, sizeof(Evas_Engine_Info_SDL_16));
69 if (!info) return NULL;
70 info->magic.magic = rand();
71 return info;
72}
73
74static void
75evas_engine_sdl16_info_free(Evas *e __UNUSED__, void *info)
76{
77 Evas_Engine_Info_SDL_16 *in;
78 in = (Evas_Engine_Info_SDL_16 *)info;
79 free(in);
80}
81
82static void
83_tmp_out_alloc(Render_Engine *re)
84{
85 Tilebuf_Rect *r;
86 unsigned int w = 0, h = 0;
87
88 EINA_INLIST_FOREACH(re->rects, r)
89 {
90 if (r->w > (int)w) w = r->w;
91 if (r->h > (int)h) h = r->h;
92 }
93
94 if (re->tmp_out)
95 {
96 if ((re->tmp_out->cache_entry.w < w) || (re->tmp_out->cache_entry.h < h))
97 {
98 evas_cache_image_drop(&re->tmp_out->cache_entry);
99 re->tmp_out = NULL;
100 }
101 }
102
103 if (!re->tmp_out)
104 {
105 Soft16_Image *im;
106
107 im = (Soft16_Image *) evas_cache_image_empty(evas_common_soft16_image_cache_get());
108 im->cache_entry.flags.alpha = 0;
109 evas_cache_image_surface_alloc(&im->cache_entry, w, h);
110
111 re->tmp_out = im;
112 }
113}
114
115static void*
116_sdl16_output_setup(int w, int h, int rotation, int fullscreen, int noframe, int hwsurface)
117{
118 Render_Engine *re;
119 SDL_Surface *surface;
120
121 re = calloc(1, sizeof(Render_Engine));
122 if (!re)
123 return NULL;
124 /* if we haven't initialized - init (automatic abort if already done) */
125 evas_common_cpu_init();
126 evas_common_blend_init();
127 evas_common_image_init();
128 evas_common_convert_init();
129 evas_common_scale_init();
130 evas_common_rectangle_init();
131 evas_common_polygon_init();
132 evas_common_line_init();
133 evas_common_font_init();
134 evas_common_draw_init();
135 evas_common_tilebuf_init();
136 evas_common_soft16_image_init();
137
138 if (w <= 0) w = 640;
139 if (h <= 0) h = 480;
140
141 re->cache = evas_cache_engine_image_init(&_sdl16_cache_engine_image_cb, evas_common_soft16_image_cache_get());
142 if (!re->cache)
143 {
144 ERR("Evas_Cache_Engine_Image allocation failed!");
145 free(re);
146 return NULL;
147 }
148
149 re->tb = evas_common_tilebuf_new(w, h);
150 /* in preliminary tests 16x16 gave highest framerates */
151 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
152 re->w = w;
153 re->h = h;
154 re->rot = rotation;
155 re->flags.hwsurface = hwsurface;
156 re->flags.fullscreen = fullscreen;
157 re->flags.noframe = noframe;
158 re->flags.end = 0;
159
160 re->update_rects_count = 0;
161 re->update_rects_limit = 0;
162 re->update_rects = NULL;
163
164 surface = SDL_SetVideoMode(w, h, 16,
165 (hwsurface ? SDL_HWSURFACE : SDL_SWSURFACE)
166 | (fullscreen ? SDL_FULLSCREEN : 0)
167 | (noframe ? SDL_NOFRAME : 0));
168 if (!surface)
169 {
170 ERR("SDL_SetVideoMode [ %i x %i x 16 ] failed", w, h);
171 evas_cache_engine_image_shutdown(re->cache);
172 free(re);
173 return NULL;
174 }
175
176 SDL_SetAlpha(surface, SDL_RLEACCEL, 0);
177 SDL_FillRect(surface, NULL, 0);
178
179 re->soft16_engine_image = (SDL_Engine_Image_Entry *) evas_cache_engine_image_engine(re->cache, surface);
180 if (!re->soft16_engine_image)
181 {
182 ERR("Soft16_Image allocation from SDL failed");
183 evas_cache_engine_image_shutdown(re->cache);
184 free(re);
185 return NULL;
186 }
187
188 return re;
189}
190
191
192static int
193evas_engine_sdl16_setup(Evas *e, void *in)
194{
195 Evas_Engine_Info_SDL_16 *info = (Evas_Engine_Info_SDL_16 *) in;
196
197 if (evas_output_method_get(e) != evas_render_method_lookup("software_16_sdl"))
198 return 0;
199
200 SDL_Init(SDL_INIT_NOPARACHUTE);
201
202 if (SDL_InitSubSystem(SDL_INIT_VIDEO) < 0)
203 {
204 ERR("SDL_Init failed with %s", SDL_GetError());
205 SDL_Quit();
206 return 0;
207 }
208
209 e->engine.data.output = _sdl16_output_setup(e->output.w, e->output.h,
210 info->info.rotation,
211 info->info.fullscreen,
212 info->info.noframe,
213 info->info.hwsurface);
214 if (!e->engine.data.output)
215 return 0;
216
217 e->engine.func = &func;
218 e->engine.data.context = e->engine.func->context_new(e->engine.data.output);
219
220 return 1;
221}
222
223static void
224evas_engine_sdl16_output_free(void *data)
225{
226 Render_Engine *re;
227
228 re = (Render_Engine *)data;
229 if (re->tb) evas_common_tilebuf_free(re->tb);
230 if (re->rects) evas_common_tilebuf_free_render_rects(re->rects);
231 if (re->tmp_out) evas_cache_image_drop(&re->tmp_out->cache_entry);
232 if (re->soft16_engine_image)
233 evas_cache_engine_image_drop(&re->soft16_engine_image->cache_entry);
234 if (re->cache) evas_cache_engine_image_shutdown(re->cache);
235
236 if (re->update_rects)
237 free(re->update_rects);
238 free(re);
239
240 evas_common_font_shutdown();
241 evas_common_image_shutdown();
242 evas_common_soft16_image_shutdown();
243
244 SDL_QuitSubSystem(SDL_INIT_VIDEO);
245}
246
247static void
248evas_engine_sdl16_output_resize(void *data, int w, int h)
249{
250 Render_Engine *re = data;
251 SDL_Surface *surface;
252
253 if ((re->tb->outbuf_w == w) && (re->tb->outbuf_h == h)) return;
254
255 evas_cache_engine_image_drop(&re->soft16_engine_image->cache_entry);
256
257 evas_common_tilebuf_free(re->tb);
258 re->w = w;
259 re->h = h;
260 re->tb = evas_common_tilebuf_new(w, h);
261 if (re->tb)
262 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
263
264 surface = SDL_SetVideoMode(w, h, 16,
265 (re->flags.hwsurface ? SDL_HWSURFACE : SDL_SWSURFACE)
266 | (re->flags.fullscreen ? SDL_FULLSCREEN : 0)
267 | (re->flags.noframe ? SDL_NOFRAME : 0));
268 if (!surface)
269 {
270 ERR("Unable to change the resolution to : %ix%i", w, h);
271 exit(-1);
272 }
273 re->soft16_engine_image = (SDL_Engine_Image_Entry *) evas_cache_engine_image_engine(re->cache, surface);
274 if (!re->soft16_engine_image)
275 {
276 ERR("RGBA_Image allocation from SDL failed");
277 exit(-1);
278 }
279
280 SDL_FillRect(surface, NULL, 0);
281
282 if (re->tmp_out)
283 {
284 evas_cache_image_drop(&re->tmp_out->cache_entry);
285 re->tmp_out = NULL;
286 }
287}
288
289static void
290evas_engine_sdl16_output_tile_size_set(void *data, int w, int h)
291{
292 Render_Engine *re;
293
294 re = (Render_Engine *)data;
295 evas_common_tilebuf_set_tile_size(re->tb, w, h);
296}
297
298static void
299evas_engine_sdl16_output_redraws_rect_add(void *data, int x, int y, int w, int h)
300{
301 Render_Engine *re;
302
303 re = (Render_Engine *)data;
304 evas_common_tilebuf_add_redraw(re->tb, x, y, w, h);
305}
306
307static void
308evas_engine_sdl16_output_redraws_rect_del(void *data, int x, int y, int w, int h)
309{
310 Render_Engine *re;
311
312 re = (Render_Engine *)data;
313 evas_common_tilebuf_del_redraw(re->tb, x, y, w, h);
314}
315
316static void
317evas_engine_sdl16_output_redraws_clear(void *data)
318{
319 Render_Engine *re;
320
321 re = (Render_Engine *)data;
322 evas_common_tilebuf_clear(re->tb);
323}
324
325static void *
326evas_engine_sdl16_output_redraws_next_update_get(void *data,
327 int *x, int *y, int *w, int *h,
328 int *cx, int *cy, int *cw, int *ch)
329{
330 Render_Engine *re = data;
331 Tilebuf_Rect *tb_rect;
332 SDL_Rect rect;
333
334 if (re->flags.end)
335 {
336 re->flags.end = 0;
337 return NULL;
338 }
339 if (!re->rects)
340 {
341 re->rects = evas_common_tilebuf_get_render_rects(re->tb);
342 re->cur_rect = re->rects;
343 if (re->rot != 0) _tmp_out_alloc(re); /* grows if required */
344 }
345
346 if (!re->cur_rect)
347 {
348 if (re->rects) evas_common_tilebuf_free_render_rects(re->rects);
349 re->rects = NULL;
350 return NULL;
351 }
352
353 tb_rect = re->cur_rect;
354 *cx = *x = tb_rect->x;
355 *cy = *y = tb_rect->y;
356 *cw = *w = tb_rect->w;
357 *ch = *h = tb_rect->h;
358 re->cur_rect = (Tilebuf_Rect *)((EINA_INLIST_GET(re->cur_rect))->next);
359 if (!re->cur_rect)
360 {
361 evas_common_tilebuf_free_render_rects(re->rects);
362 re->rects = NULL;
363 re->flags.end = 1;
364 }
365
366 if (re->rot != 0)
367 {
368 *cx = 0;
369 *cy = 0;
370 }
371
372 rect.x = *x;
373 rect.y = *y;
374 rect.w = *w;
375 rect.h = *h;
376
377 /* Return the "fake" surface so it is passed to the drawing routines. */
378 return re->soft16_engine_image;
379}
380
381static void
382_blit_rot_90(Soft16_Image *dst, const Soft16_Image *src,
383 int out_x, int out_y, int w, int h)
384{
385 DATA16 *dp, *sp;
386 int x, y;
387
388 sp = src->pixels;
389 dp = dst->pixels + (out_x +
390 (w + out_y - 1) * dst->stride);
391
392 for (y = 0; y < h; y++)
393 {
394 DATA16 *dp_itr, *sp_itr;
395
396 sp_itr = sp;
397 dp_itr = dp;
398
399 for (x = 0; x < w; x++)
400 {
401 *dp_itr = *sp_itr;
402
403 sp_itr++;
404 dp_itr -= dst->stride;
405 }
406 sp += src->stride;
407 dp++;
408 }
409}
410
411static void
412_blit_rot_180(Soft16_Image *dst, const Soft16_Image *src,
413 int out_x, int out_y, int w, int h)
414{
415 DATA16 *dp, *sp;
416 int x, y;
417
418 sp = src->pixels;
419 dp = dst->pixels + ((w + out_x - 1) +
420 (h + out_y - 1) * dst->stride);
421
422 for (y = 0; y < h; y++)
423 {
424 DATA16 *dp_itr, *sp_itr;
425
426 sp_itr = sp;
427 dp_itr = dp;
428
429 for (x = 0; x < w; x++)
430 {
431 *dp_itr = *sp_itr;
432
433 sp_itr++;
434 dp_itr--;
435 }
436 sp += src->stride;
437 dp -= dst->stride;
438 }
439}
440
441static void
442_blit_rot_270(Soft16_Image *dst, const Soft16_Image *src,
443 int out_x, int out_y, int w, int h)
444{
445 DATA16 *dp, *sp;
446 int x, y;
447
448 sp = src->pixels;
449 dp = dst->pixels + ((h + out_x - 1) +
450 out_y * dst->stride);
451
452 for (y = 0; y < h; y++)
453 {
454 DATA16 *dp_itr, *sp_itr;
455
456 sp_itr = sp;
457 dp_itr = dp;
458
459 for (x = 0; x < w; x++)
460 {
461 *dp_itr = *sp_itr;
462
463 sp_itr++;
464 dp_itr += dst->stride;
465 }
466 sp += src->stride;
467 dp--;
468 }
469}
470
471static void
472_tmp_out_process(Render_Engine *re, int out_x, int out_y, int w, int h)
473{
474 Soft16_Image *d, *s;
475
476 d = (Soft16_Image *) re->soft16_engine_image->cache_entry.src;
477 s = re->tmp_out;
478
479 if ((w < 1) || (h < 1) ||
480 (out_x >= (int)d->cache_entry.w) || (out_y >= (int)d->cache_entry.h))
481 return;
482
483 if (re->rot == 90)
484 _blit_rot_90(d, s, out_x, out_y, w, h);
485 else if (re->rot == 180)
486 _blit_rot_180(d, s, out_x, out_y, w, h);
487 else if (re->rot == 270)
488 _blit_rot_270(d, s, out_x, out_y, w, h);
489}
490
491static void
492evas_engine_sdl16_output_redraws_next_update_push(void *data, void *surface __UNUSED__,
493 int x, int y, int w, int h)
494{
495 Render_Engine *re = data;
496 SDL_Rect rect;
497
498 if (re->update_rects_count + 1 > re->update_rects_limit)
499 {
500 re->update_rects_limit += 8;
501 re->update_rects = realloc(re->update_rects, sizeof (SDL_Rect) * re->update_rects_limit);
502 }
503
504 rect.x = x;
505 rect.y = y;
506 rect.w = w;
507 rect.h = h;
508
509 switch (re->rot)
510 {
511 case 0:
512 break;
513 case 90:
514 rect.x = y;
515 rect.y = re->w - w - x;
516 rect.w = h;
517 rect.h = w;
518 break;
519 case 180:
520 rect.x = re->w - w - x;
521 rect.y = re->h - h - y;
522 break;
523 case 270:
524 rect.x = re->h - h - y;
525 rect.y = x;
526 rect.w = h;
527 rect.h = w;
528 break;
529 default:
530 abort();
531 }
532
533 re->update_rects[re->update_rects_count] = rect;
534
535 if (re->rot != 0)
536 _tmp_out_process(re, rect.x, rect.y, w, h);
537
538 ++re->update_rects_count;
539
540 evas_common_cpu_end_opt();
541}
542
543static void
544evas_engine_sdl16_output_flush(void *data)
545{
546 Render_Engine *re = data;
547
548 if (re->update_rects_count > 0)
549 SDL_UpdateRects(re->soft16_engine_image->surface, re->update_rects_count, re->update_rects);
550
551 re->update_rects_count = 0;
552}
553
554static void
555evas_engine_sdl16_output_idle_flush(void *data)
556{
557 Render_Engine *re;
558
559 re = (Render_Engine *)data;
560 if (re->tmp_out)
561 {
562 evas_cache_image_drop(&re->tmp_out->cache_entry);
563 re->tmp_out = NULL;
564 }
565}
566
567static void*
568evas_engine_sdl16_image_load(void *data, const char *file, const char *key, int *error, Evas_Image_Load_Opts *lo)
569{
570 Render_Engine* re = (Render_Engine*) data;;
571
572 *error = 0;
573 return evas_cache_engine_image_request(re->cache, file, key, lo, NULL, error);
574}
575
576static int
577evas_engine_sdl16_image_alpha_get(void *data __UNUSED__, void *image)
578{
579 SDL_Engine_Image_Entry *eim = image;
580 Soft16_Image *im;
581
582 if (!eim) return 1;
583 im = (Soft16_Image *) eim->cache_entry.src;
584 switch (eim->cache_entry.src->space)
585 {
586 case EVAS_COLORSPACE_ARGB8888:
587 if (im->cache_entry.flags.alpha) return 1;
588 default:
589 break;
590 }
591 return 0;
592}
593
594static void
595evas_engine_sdl16_image_size_get(void *data __UNUSED__, void *image, int *w, int *h)
596{
597 SDL_Engine_Image_Entry *eim;
598
599 eim = image;
600 if (w) *w = eim->cache_entry.src->w;
601 if (h) *h = eim->cache_entry.src->h;
602}
603
604static int
605evas_engine_sdl16_image_colorspace_get(void *data __UNUSED__, void *image __UNUSED__)
606{
607 SDL_Engine_Image_Entry *eim = image;
608
609 if (!eim) return EVAS_COLORSPACE_RGB565_A5P;
610 return eim->cache_entry.src->space;
611}
612
613static void
614evas_engine_sdl16_image_colorspace_set(void *data __UNUSED__, void *image __UNUSED__, int cspace __UNUSED__)
615{
616 SDL_Engine_Image_Entry *eim = image;
617
618 if (!eim) return;
619 if (eim->cache_entry.src->space == cspace) return;
620
621 evas_cache_engine_image_colorspace(&eim->cache_entry, cspace, NULL);
622}
623
624static void*
625evas_engine_sdl16_image_new_from_copied_data(void *data,
626 int w, int h,
627 DATA32* image_data,
628 int alpha, int cspace)
629{
630 Render_Engine *re = data;
631
632 if (cspace != EVAS_COLORSPACE_RGB565_A5P)
633 {
634 WRN("Unsupported colorspace %d in %s() (%s:%d)",
635 cspace, __FUNCTION__, __FILE__, __LINE__);
636 return NULL;
637 }
638
639 WRN("s image_data: %p", image_data);
640
641 return evas_cache_engine_image_copied_data(re->cache,
642 w, h,
643 image_data,
644 alpha, cspace, NULL);
645}
646
647static void*
648evas_engine_sdl16_image_new_from_data(void *data, int w, int h, DATA32* image_data, int alpha, int cspace)
649{
650 Render_Engine *re = data;
651
652 if (cspace != EVAS_COLORSPACE_RGB565_A5P)
653 {
654 WRN("Unsupported colorspace %d in %s() (%s:%d)",
655 cspace, __FUNCTION__, __FILE__, __LINE__);
656 return NULL;
657 }
658
659 return evas_cache_engine_image_data(re->cache,
660 w, h,
661 image_data,
662 alpha, cspace, NULL);
663}
664
665static void
666evas_engine_sdl16_image_free(void *data __UNUSED__, void *image)
667{
668 SDL_Engine_Image_Entry *eim = image;
669
670 evas_cache_engine_image_drop(&eim->cache_entry);
671}
672
673static void*
674evas_engine_sdl16_image_size_set(void *data __UNUSED__, void *image, int w, int h)
675{
676 SDL_Engine_Image_Entry *eim = image;
677
678 return evas_cache_engine_image_size_set(&eim->cache_entry, w, h);
679}
680
681static void*
682evas_engine_sdl16_image_dirty_region(void *data __UNUSED__,
683 void *image,
684 int x, int y, int w, int h)
685{
686 SDL_Engine_Image_Entry *eim = image;
687
688 return evas_cache_engine_image_dirty(&eim->cache_entry, x, y, w, h);
689}
690
691static void*
692evas_engine_sdl16_image_data_get(void *data __UNUSED__, void *image,
693 int to_write, DATA32** image_data, int *err)
694{
695 SDL_Engine_Image_Entry *eim = image;
696 Soft16_Image *im;
697 int error;
698
699 if (!eim)
700 {
701 *image_data = NULL;
702 if (err) *err = EVAS_LOAD_ERROR_GENERIC;
703 return NULL;
704 }
705 im = (Soft16_Image *) eim->cache_entry.src;
706
707 if (to_write)
708 eim = (SDL_Engine_Image_Entry *) evas_cache_engine_image_dirty(&eim->cache_entry,
709 0, 0, eim->cache_entry.src->w, eim->cache_entry.src->h);
710
711 error = evas_cache_image_load_data(&im->cache_entry);
712 /* FIXME: Handle colorspace conversion correctly. */
713 if (image_data) *image_data = (DATA32 *) im->pixels;
714
715 if (err) *err = error;
716 return eim;
717}
718
719static void*
720evas_engine_sdl16_image_data_put(void *data, void *image, DATA32* image_data)
721{
722 SDL_Engine_Image_Entry *eim = image;
723 SDL_Engine_Image_Entry *eim_new;
724 Render_Engine *re = data;
725 Soft16_Image *im;
726
727 if (!eim) return NULL;
728 im = (Soft16_Image *) eim->cache_entry.src;
729
730 /* FIXME: Handle colorspace conversion correctly. */
731 if ((DATA16 *) image_data == im->pixels) return eim;
732
733 eim_new = (SDL_Engine_Image_Entry *) evas_cache_engine_image_data(re->cache,
734 eim->cache_entry.w, eim->cache_entry.h,
735 image_data,
736 func.image_alpha_get(data, eim),
737 func.image_colorspace_get(data, eim),
738 NULL);
739 evas_cache_engine_image_drop(&eim->cache_entry);
740
741 return eim_new;
742}
743
744static void
745evas_engine_sdl16_image_data_preload_request(void *data __UNUSED__, void *image, const void *target)
746{
747 SDL_Engine_Image_Entry *eim = image;
748 Soft16_Image *im;
749
750 if (!eim) return ;
751 im = (Soft16_Image *) eim->cache_entry.src;
752 if (!im) return ;
753 evas_cache_image_preload_data(&im->cache_entry, target);
754}
755
756static void
757evas_engine_sdl16_image_data_preload_cancel(void *data __UNUSED__, void *image, const void *target)
758{
759 SDL_Engine_Image_Entry *eim = image;
760 Soft16_Image *im;
761
762 if (!eim) return ;
763 im = (Soft16_Image *) eim->cache_entry.src;
764 if (!im) return ;
765 evas_cache_image_preload_cancel(&im->cache_entry, target);
766}
767
768static void*
769evas_engine_sdl16_image_alpha_set(void *data __UNUSED__, void *image, int has_alpha)
770{
771 SDL_Engine_Image_Entry *eim = image;
772 Soft16_Image *im;
773
774 if (!eim) return NULL;
775
776 im = (Soft16_Image *) eim->cache_entry.src;
777
778 if (im->cache_entry.flags.alpha == has_alpha) return eim;
779
780 //eim = (SDL_Engine_Image_Entry *) evas_cache_engine_image_alone(&eim->cache_entry, NULL);
781 //im = (Soft16_Image *) eim->cache_entry.src;
782
783 im->cache_entry.flags.alpha = has_alpha;
784 eim = (SDL_Engine_Image_Entry *) evas_cache_engine_image_dirty(&eim->cache_entry, 0, 0, eim->cache_entry.w, eim->cache_entry.h);
785
786 return eim;
787}
788
789static void*
790evas_engine_sdl16_image_border_set(void *data __UNUSED__, void *image, int l __UNUSED__, int r __UNUSED__, int t __UNUSED__, int b __UNUSED__)
791{
792 return image;
793}
794
795static void
796evas_engine_sdl16_image_border_get(void *data __UNUSED__, void *image __UNUSED__, int *l __UNUSED__, int *r __UNUSED__, int *t __UNUSED__, int *b __UNUSED__)
797{
798 /* FIXME: need to know what evas expect from this call */
799}
800
801static void
802evas_engine_sdl16_image_draw(void *data __UNUSED__, void *context, void *surface, void *image,
803 int src_region_x, int src_region_y, int src_region_w, int src_region_h,
804 int dst_region_x, int dst_region_y, int dst_region_w, int dst_region_h,
805 int smooth)
806{
807 SDL_Engine_Image_Entry *eim = image;
808 SDL_Engine_Image_Entry *dst = surface;
809 int mustlock_im = 0;
810 int mustlock_dst = 0;
811
812 evas_cache_engine_image_load_data(&eim->cache_entry);
813
814 /* Fallback to software method */
815 if (SDL_MUSTLOCK(dst->surface))
816 {
817 mustlock_dst = 1;
818 SDL_LockSurface(dst->surface);
819 _SDL_UPDATE_PIXELS(dst);
820 }
821
822 if (eim->surface && SDL_MUSTLOCK(eim->surface))
823 {
824 mustlock_im = 1;
825 SDL_LockSurface(eim->surface);
826 _SDL_UPDATE_PIXELS(eim);
827 }
828
829 evas_common_soft16_image_draw((Soft16_Image *) eim->cache_entry.src,
830 (Soft16_Image *) dst->cache_entry.src,
831 context,
832 src_region_x, src_region_y, src_region_w, src_region_h,
833 dst_region_x, dst_region_y, dst_region_w, dst_region_h,
834 smooth);
835
836 evas_common_cpu_end_opt ();
837 if (mustlock_im)
838 SDL_UnlockSurface(eim->surface);
839
840 if (mustlock_dst)
841 SDL_UnlockSurface(dst->surface);
842}
843
844static void
845evas_engine_sdl16_image_map_draw(void *data __UNUSED__, void *context __UNUSED__, void *surface __UNUSED__, void *image __UNUSED__, int npoints __UNUSED__, RGBA_Map_Point *p __UNUSED__, int smooth __UNUSED__, int level __UNUSED__)
846{
847}
848
849static void
850evas_engine_sdl16_image_scale_hint_set(void *data __UNUSED__, void *image __UNUSED__, int hint __UNUSED__)
851{
852}
853
854static int
855evas_engine_sdl16_image_scale_hint_get(void *data __UNUSED__, void *image __UNUSED__)
856{
857 return EVAS_IMAGE_SCALE_HINT_NONE;
858}
859
860
861static void
862evas_engine_sdl16_image_cache_flush(void *data)
863{
864 Render_Engine *re = (Render_Engine*) data;
865 int size;
866
867 size = evas_cache_engine_image_get(re->cache);
868 evas_cache_engine_image_set(re->cache, 0);
869 evas_cache_engine_image_set(re->cache, size);
870}
871
872static void
873evas_engine_sdl16_image_cache_set(void *data, int bytes)
874{
875 Render_Engine *re = (Render_Engine*) data;
876
877 evas_cache_engine_image_set(re->cache, bytes);
878}
879
880static int
881evas_engine_sdl16_image_cache_get(void *data)
882{
883 Render_Engine *re = (Render_Engine*) data;
884
885 return evas_cache_engine_image_get(re->cache);
886}
887
888static char*
889evas_engine_sdl16_image_comment_get(void *data __UNUSED__, void *image __UNUSED__, char *key __UNUSED__)
890{
891 return NULL;
892}
893
894static char*
895evas_engine_sdl16_image_format_get(void *data __UNUSED__, void *image __UNUSED__)
896{
897 /* FIXME: need to know what evas expect from this call */
898 return NULL;
899}
900
901static void
902evas_engine_sdl16_font_draw(void *data __UNUSED__, void *context, void *surface, void *font, int x, int y, int w __UNUSED__, int h __UNUSED__, int ow __UNUSED__, int oh __UNUSED__, const Evas_Text_Props *intl_props)
903{
904 static RGBA_Image *im = NULL;
905 SDL_Engine_Image_Entry *eim = surface;
906 Soft16_Image *dst = (Soft16_Image *) eim->cache_entry.src;
907 int mustlock_im = 0;
908
909 if (eim->surface && SDL_MUSTLOCK(eim->surface))
910 {
911 mustlock_im = 1;
912 SDL_LockSurface(eim->surface);
913 _SDL_UPDATE_PIXELS(eim);
914 }
915 evas_common_draw_context_font_ext_set(context,
916 dst,
917 evas_common_soft16_font_glyph_new,
918 evas_common_soft16_font_glyph_free,
919 evas_common_soft16_font_glyph_draw);
920 evas_common_font_draw((RGBA_Image *) eim->cache_entry.src, context, font, x, y, intl_props);
921 evas_common_draw_context_font_ext_set(context,
922 NULL,
923 NULL,
924 NULL,
925 NULL);
926
927 if (mustlock_im)
928 SDL_UnlockSurface(eim->surface);
929}
930
931static void
932evas_engine_sdl16_line_draw(void *data __UNUSED__, void *context, void *surface, int x1, int y1, int x2, int y2)
933{
934 SDL_Engine_Image_Entry *eim = surface;
935 int mustlock_im = 0;
936
937 if (eim->surface && SDL_MUSTLOCK(eim->surface))
938 {
939 mustlock_im = 1;
940 SDL_LockSurface(eim->surface);
941 _SDL_UPDATE_PIXELS(eim);
942 }
943
944 evas_common_soft16_line_draw((Soft16_Image *) eim->cache_entry.src,
945 context,
946 x1, y1, x2, y2);
947 evas_common_cpu_end_opt();
948
949 if (mustlock_im)
950 SDL_UnlockSurface(eim->surface);
951}
952
953static void
954evas_engine_sdl16_rectangle_draw(void *data __UNUSED__, void *context, void *surface, int x, int y, int w, int h)
955{
956 SDL_Engine_Image_Entry *eim = surface;
957#if ENGINE_SDL_PRIMITIVE
958 RGBA_Draw_Context *dc = context;
959#endif
960 Soft16_Image *im;
961 int mustlock_im = 0;
962
963#if ENGINE_SDL_PRIMITIVE
964 if (A_VAL(&dc->col.col) != 0x00)
965 {
966 if (A_VAL(&dc->col.col) != 0xFF)
967 {
968#endif
969 if (eim->surface && SDL_MUSTLOCK(eim->surface))
970 {
971 mustlock_im = 1;
972 SDL_LockSurface(eim->surface);
973 _SDL_UPDATE_PIXELS(eim);
974 }
975
976 im = (Soft16_Image *) eim->cache_entry.src;
977
978 evas_common_soft16_rectangle_draw(im, context, x, y, w, h);
979 evas_common_cpu_end_opt();
980
981 if (mustlock_im)
982 SDL_UnlockSurface(eim->surface);
983#if ENGINE_SDL_PRIMITIVE
984 }
985 else
986 {
987 SDL_Rect dstrect;
988
989 if (dc->clip.use)
990 {
991 SDL_Rect cliprect;
992
993 cliprect.x = dc->clip.x;
994 cliprect.y = dc->clip.y;
995 cliprect.w = dc->clip.w;
996 cliprect.h = dc->clip.h;
997
998 SDL_SetClipRect(eim->surface, &cliprect);
999 }
1000
1001 dstrect.x = x;
1002 dstrect.y = y;
1003 dstrect.w = w;
1004 dstrect.h = h;
1005
1006 SDL_FillRect(eim->surface, &dstrect, SDL_MapRGBA(eim->surface->format, R_VAL(&dc->col.col), G_VAL(&dc->col.col), B_VAL(&dc->col.col), 0xFF));
1007
1008 if (dc->clip.use)
1009 SDL_SetClipRect(eim->surface, NULL);
1010 }
1011 }
1012#endif
1013}
1014
1015static void
1016evas_engine_sdl16_polygon_draw(void *data __UNUSED__, void *context, void *surface, void *polygon, int x, int y)
1017{
1018 SDL_Engine_Image_Entry *eim = surface;
1019 int mustlock_im = 0;
1020
1021 if (eim->surface && SDL_MUSTLOCK(eim->surface))
1022 {
1023 mustlock_im = 1;
1024 SDL_LockSurface(eim->surface);
1025 _SDL_UPDATE_PIXELS(eim);
1026 }
1027
1028 evas_common_soft16_polygon_draw((Soft16_Image *) eim->cache_entry.src, context, polygon, x, y);
1029 evas_common_cpu_end_opt();
1030
1031 if (mustlock_im)
1032 SDL_UnlockSurface(eim->surface);
1033}
1034
1035static void
1036evas_engine_sdl16_image_stride_get(void *data __UNUSED__, void *image, int *stride)
1037{
1038 SDL_Engine_Image_Entry *eim = image;
1039
1040 if (stride) *stride = 0;
1041 if (!image) return;
1042 if (stride) *stride = ((Soft16_Image*) eim->cache_entry.src)->stride;
1043}
1044
1045static Eina_Bool
1046evas_engine_sdl16_canvas_alpha_get(void *data __UNUSED__, void *context __UNUSED__)
1047{
1048 return EINA_FALSE;
1049}
1050
1051/* module advertising code */
1052static int
1053module_open(Evas_Module *em)
1054{
1055 if (!em) return 0;
1056 /* get whatever engine module we inherit from */
1057 if (!_evas_module_engine_inherit(&pfunc, "software_16")) return 0;
1058 _evas_engine_soft16_sdl_log_dom = eina_log_domain_register
1059 ("evas-software_16_sdl", EVAS_DEFAULT_LOG_COLOR);
1060 if (_evas_engine_soft16_sdl_log_dom < 0)
1061 {
1062 EINA_LOG_ERR("Can not create a module log domain.");
1063 return 0;
1064 }
1065
1066 /* store it for later use */
1067 func = pfunc;
1068 /* now to override methods */
1069#define ORD(f) EVAS_API_OVERRIDE(f, &func, evas_engine_sdl16_)
1070 ORD(info);
1071 ORD(info_free);
1072 ORD(setup);
1073 ORD(canvas_alpha_get);
1074 ORD(output_free);
1075 ORD(output_resize);
1076 ORD(output_tile_size_set);
1077 ORD(output_redraws_rect_add);
1078 ORD(output_redraws_rect_del);
1079 ORD(output_redraws_clear);
1080 ORD(output_redraws_next_update_get);
1081 ORD(output_redraws_next_update_push);
1082 ORD(output_flush);
1083 ORD(output_idle_flush);
1084 ORD(image_load);
1085 ORD(image_alpha_get);
1086 ORD(image_size_get);
1087 ORD(image_colorspace_get);
1088 ORD(image_colorspace_set);
1089 ORD(image_new_from_copied_data);
1090 ORD(image_new_from_data);
1091 ORD(image_free);
1092 ORD(image_size_set);
1093 ORD(image_dirty_region);
1094 ORD(image_data_get);
1095 ORD(image_data_put);
1096 ORD(image_data_preload_request);
1097 ORD(image_data_preload_cancel);
1098 ORD(image_alpha_set);
1099 ORD(image_border_set);
1100 ORD(image_border_get);
1101 ORD(image_draw);
1102 ORD(image_map_draw);
1103 ORD(image_cache_flush);
1104 ORD(image_cache_set);
1105 ORD(image_cache_get);
1106 ORD(image_comment_get);
1107 ORD(image_format_get);
1108 ORD(image_stride_get);
1109 ORD(font_draw);
1110 ORD(line_draw);
1111 ORD(rectangle_draw);
1112 ORD(polygon_draw);
1113
1114 ORD(image_scale_hint_set);
1115 ORD(image_scale_hint_get);
1116
1117 /* now advertise out own api */
1118 em->functions = (void *)(&func);
1119 return 1;
1120}
1121
1122static void
1123module_close(Evas_Module *em __UNUSED__)
1124{
1125 eina_log_domain_unregister(_evas_engine_soft16_sdl_log_dom);
1126}
1127
1128static Evas_Module_Api evas_modapi =
1129{
1130 EVAS_MODULE_API_VERSION,
1131 "software_16_sdl",
1132 "none",
1133 {
1134 module_open,
1135 module_close
1136 }
1137};
1138
1139EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_16_sdl);
1140
1141#ifndef EVAS_STATIC_BUILD_SOFTWARE_SDL
1142EVAS_EINA_MODULE_DEFINE(engine, software_16_sdl);
1143#endif
1144
1145static Engine_Image_Entry*
1146_sdl16_image_alloc(void)
1147{
1148 SDL_Engine_Image_Entry *new;
1149
1150 new = calloc(1, sizeof (SDL_Engine_Image_Entry));
1151
1152 return (Engine_Image_Entry *) new;
1153}
1154
1155static void
1156_sdl16_image_delete(Engine_Image_Entry *eim)
1157{
1158 free(eim);
1159}
1160
1161static int
1162_sdl16_image_constructor(Engine_Image_Entry *ie, void* data __UNUSED__)
1163{
1164 SDL_Surface *sdl = NULL;
1165 SDL_Engine_Image_Entry *eim = (SDL_Engine_Image_Entry *) ie;
1166 Soft16_Image *im;
1167
1168 im = (Soft16_Image *) ie->src;
1169
1170 if (im)
1171 {
1172 evas_cache_image_load_data(&im->cache_entry);
1173
1174 if (im->pixels)
1175 {
1176 /* FIXME: Take care of CSPACE */
1177 sdl = SDL_CreateRGBSurfaceFrom(im->pixels,
1178 ie->w, ie->h,
1179 16, ie->w * 2,
1180 RMASK565, GMASK565, BMASK565, AMASK565);
1181 eim->surface = sdl;
1182 eim->flags.engine_surface = 0;
1183 }
1184 }
1185
1186 return EVAS_LOAD_ERROR_NONE;
1187}
1188
1189static void
1190_sdl16_image_destructor(Engine_Image_Entry *eim)
1191{
1192 SDL_Engine_Image_Entry *seie = (SDL_Engine_Image_Entry *) eim;
1193
1194 if (seie->surface && !seie->flags.engine_surface)
1195 SDL_FreeSurface(seie->surface);
1196 seie->surface = NULL;
1197}
1198
1199static void
1200_sdl16_image_dirty_region(Engine_Image_Entry *eim, unsigned int x, unsigned int y, unsigned int w, unsigned int h)
1201{
1202 SDL_Engine_Image_Entry *dst;
1203 RGBA_Image *im;
1204
1205 dst = (SDL_Engine_Image_Entry *) eim;
1206
1207 SDL_UpdateRect(dst->surface, x, y, w, h);
1208
1209 im = (RGBA_Image *)eim->src;
1210 im->flags |= RGBA_IMAGE_IS_DIRTY;
1211}
1212
1213static int
1214_sdl16_image_dirty(Engine_Image_Entry *dst, const Engine_Image_Entry *src __UNUSED__)
1215{
1216 SDL_Engine_Image_Entry *eim = (SDL_Engine_Image_Entry *) dst;
1217 SDL_Surface *sdl = NULL;
1218 Soft16_Image *im;
1219
1220 im = (Soft16_Image *) dst->src;
1221
1222 /* FIXME: Take care of CSPACE */
1223 sdl = SDL_CreateRGBSurfaceFrom(im->pixels,
1224 dst->w, dst->h,
1225 16, dst->w * 2,
1226 RMASK565, GMASK565, BMASK565, AMASK565);
1227 eim->surface = sdl;
1228 eim->flags.engine_surface = 0;
1229
1230 return 0;
1231}
1232
1233static int
1234_sdl16_image_size_set(Engine_Image_Entry *dst, const Engine_Image_Entry *src __UNUSED__)
1235{
1236 SDL_Engine_Image_Entry *eim = (SDL_Engine_Image_Entry *) dst;
1237 SDL_Surface *sdl;
1238 Soft16_Image *im;
1239
1240 im = (Soft16_Image *) dst->src;
1241
1242 /* FIXME: handle im == NULL */
1243 sdl = SDL_CreateRGBSurfaceFrom(im->pixels,
1244 dst->w, dst->h,
1245 16, dst->w * 2,
1246 RMASK565, GMASK565, BMASK565, AMASK565);
1247
1248 eim->surface = sdl;
1249
1250 return 0;
1251}
1252
1253static int
1254_sdl16_image_update_data(Engine_Image_Entry* dst, void* engine_data)
1255{
1256 SDL_Engine_Image_Entry *eim = (SDL_Engine_Image_Entry *) dst;
1257 SDL_Surface *sdl = NULL;
1258 Soft16_Image *im;
1259
1260 im = (Soft16_Image *) dst->src;
1261
1262 if (engine_data)
1263 {
1264 sdl = engine_data;
1265
1266 if (im)
1267 {
1268 im->pixels = sdl->pixels;
1269 im->stride = sdl->pitch / 2;
1270 im->flags.free_pixels = 0;
1271/* im->alpha = calloc(1, sizeof (DATA8) * _calc_stride(sdl->w) * sdl->h); */
1272/* im->flags.free_alpha = 0; */
1273/* im->flags.have_alpha = 1; */
1274 im->alpha = NULL;
1275 im->flags.free_alpha = 0;
1276 im->cache_entry.flags.alpha = 0;
1277
1278 dst->src->w = sdl->w;
1279 dst->src->h = sdl->h;
1280 }
1281 dst->w = sdl->w;
1282 dst->h = sdl->h;
1283 }
1284 else
1285 {
1286 SDL_FreeSurface(eim->surface);
1287 /* FIXME: Take care of CSPACE */
1288 sdl = SDL_CreateRGBSurfaceFrom(im->pixels,
1289 dst->w, dst->h,
1290 16, dst->w * 2,
1291 RMASK565, GMASK565, BMASK565, AMASK565);
1292 }
1293
1294 eim->surface = sdl;
1295
1296 return 0;
1297}
1298
1299static void
1300_sdl16_image_load(Engine_Image_Entry *eim, const Image_Entry* ie_im)
1301{
1302 SDL_Engine_Image_Entry *load = (SDL_Engine_Image_Entry *) eim;
1303 SDL_Surface *sdl;
1304
1305 if (!load->surface)
1306 {
1307 Soft16_Image *im;
1308
1309 im = (Soft16_Image *) ie_im;
1310
1311 sdl = SDL_CreateRGBSurfaceFrom(im->pixels,
1312 eim->w, eim->h,
1313 16, eim->w * 2,
1314 RMASK565, GMASK565, BMASK565, AMASK565);
1315 load->surface = sdl;
1316 }
1317}
1318
1319static int
1320_sdl16_image_mem_size_get(Engine_Image_Entry *eim)
1321{
1322 SDL_Engine_Image_Entry *seie = (SDL_Engine_Image_Entry *) eim;
1323 int size = 0;
1324
1325 /* FIXME: Count surface size. */
1326 if (seie->surface)
1327 size = sizeof (SDL_Surface) + sizeof (SDL_PixelFormat);
1328
1329 return size;
1330}
1331
1332#ifdef DEBUG_SDL
1333static void
1334_sdl16_image_debug(const char* context, Engine_Image_Entry* im)
1335{
1336}
1337#endif
diff --git a/libraries/evas/src/modules/engines/software_16_sdl/evas_engine.h b/libraries/evas/src/modules/engines/software_16_sdl/evas_engine.h
new file mode 100644
index 0000000..a1b0ee0
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_sdl/evas_engine.h
@@ -0,0 +1,79 @@
1#ifndef EVAS_ENGINE_SDL_16_H
2#define EVAS_ENGINE_SDL_16_H
3
4#include "evas_common.h"
5#include "evas_private.h"
6#include "evas_common_soft16.h"
7#include "Evas_Engine_SDL_16.h"
8extern int _evas_engine_soft16_sdl_log_dom ;
9#ifdef ERR
10# undef ERR
11#endif
12#define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_soft16_sdl_log_dom, __VA_ARGS__)
13
14#ifdef DBG
15# undef DBG
16#endif
17#define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_soft16_sdl_log_dom, __VA_ARGS__)
18
19#ifdef INF
20# undef INF
21#endif
22#define INF(...) EINA_LOG_DOM_INFO(_evas_engine_soft16_sdl_log_dom, __VA_ARGS__)
23
24#ifdef WRN
25# undef WRN
26#endif
27#define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_soft16_sdl_log_dom, __VA_ARGS__)
28
29#ifdef CRIT
30# undef CRIT
31#endif
32#define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_soft16_sdl_log_dom, __VA_ARGS__)
33
34typedef struct _SDL_Engine_Image_Entry SDL_Engine_Image_Entry;
35struct _SDL_Engine_Image_Entry
36{
37 Engine_Image_Entry cache_entry;
38
39 SDL_Surface *surface;
40
41 struct
42 {
43 unsigned int engine_surface : 1;
44 } flags;
45};
46
47
48typedef struct _Render_Engine Render_Engine;
49struct _Render_Engine
50{
51 SDL_Engine_Image_Entry *soft16_engine_image;
52
53 Evas_Cache_Engine_Image *cache;
54
55 Soft16_Image *tmp_out;
56
57 int w;
58 int h;
59 int rot;
60
61 Tilebuf *tb;
62 Tilebuf_Rect *rects;
63 Tilebuf_Rect *cur_rect;
64
65 SDL_Rect *update_rects;
66 int update_rects_count;
67 int update_rects_limit;
68
69 struct
70 {
71 unsigned int fullscreen : 1;
72 unsigned int noframe : 1;
73 unsigned int alpha : 1;
74 unsigned int hwsurface : 1;
75 unsigned int end : 1;
76 } flags;
77};
78
79#endif
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}
diff --git a/libraries/evas/src/modules/engines/software_16_x11/Evas_Engine_Software_16_X11.h b/libraries/evas/src/modules/engines/software_16_x11/Evas_Engine_Software_16_X11.h
new file mode 100644
index 0000000..9768f0a
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_x11/Evas_Engine_Software_16_X11.h
@@ -0,0 +1,26 @@
1#ifndef _EVAS_ENGINE_SOFTWARE_16_X11_H
2#define _EVAS_ENGINE_SOFTWARE_16_X11_H
3
4#include <X11/Xlib.h>
5
6typedef struct _Evas_Engine_Info_Software_16_X11 Evas_Engine_Info_Software_16_X11;
7
8struct _Evas_Engine_Info_Software_16_X11
9{
10 /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
11 /* at you and make nasty noises */
12 Evas_Engine_Info magic;
13
14 /* engine specific data & parameters it needs to set up */
15 struct {
16 Display *display;
17 Drawable drawable;
18 int rotation;
19 } info;
20
21 /* non-blocking or blocking mode */
22 Evas_Engine_Render_Mode render_mode;
23};
24#endif
25
26
diff --git a/libraries/evas/src/modules/engines/software_16_x11/Makefile.am b/libraries/evas/src/modules/engines/software_16_x11/Makefile.am
new file mode 100644
index 0000000..812492e
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_x11/Makefile.am
@@ -0,0 +1,47 @@
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@FREETYPE_CFLAGS@ \
11@EINA_CFLAGS@ \
12@PIXMAN_CFLAGS@ \
13@evas_engine_software_16_x11_cflags@
14
15if BUILD_ENGINE_SOFTWARE_16_X11
16
17SOFTWARE_16_X11_SOURCES = \
18evas_engine.c \
19evas_x_buffer.c
20
21SOFTWARE_16_X11_LIBADD = @evas_engine_software_16_x11_libs@
22
23
24includes_HEADERS = Evas_Engine_Software_16_X11.h
25includesdir = $(includedir)/evas-@VMAJ@
26
27if !EVAS_STATIC_BUILD_SOFTWARE_16_X11
28
29pkgdir = $(libdir)/evas/modules/engines/software_16_x11/$(MODULE_ARCH)
30pkg_LTLIBRARIES = module.la
31
32module_la_SOURCES = $(SOFTWARE_16_X11_SOURCES)
33module_la_LIBADD = @EINA_LIBS@ $(SOFTWARE_16_X11_LIBADD) $(top_builddir)/src/lib/libevas.la
34module_la_LDFLAGS = -no-undefined -module -avoid-version
35module_la_LIBTOOLFLAGS = --tag=disable-static
36
37else
38
39noinst_LTLIBRARIES = libevas_engine_software_16_x11.la
40
41libevas_engine_software_16_x11_la_SOURCES = $(SOFTWARE_16_X11_SOURCES)
42libevas_engine_software_16_x11_la_LIBADD = $(SOFTWARE_16_X11_LIBADD)
43
44endif
45endif
46
47EXTRA_DIST = evas_engine.h
diff --git a/libraries/evas/src/modules/engines/software_16_x11/Makefile.in b/libraries/evas/src/modules/engines/software_16_x11/Makefile.in
new file mode 100644
index 0000000..be43dad
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_x11/Makefile.in
@@ -0,0 +1,812 @@
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_x11
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_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE@libevas_engine_software_16_x11_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
86am__libevas_engine_software_16_x11_la_SOURCES_DIST = evas_engine.c \
87 evas_x_buffer.c
88@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@am__objects_1 = evas_engine.lo \
89@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@ evas_x_buffer.lo
90@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE@am_libevas_engine_software_16_x11_la_OBJECTS = $(am__objects_1)
91libevas_engine_software_16_x11_la_OBJECTS = \
92 $(am_libevas_engine_software_16_x11_la_OBJECTS)
93AM_V_lt = $(am__v_lt_$(V))
94am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
95am__v_lt_0 = --silent
96@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE@am_libevas_engine_software_16_x11_la_rpath =
97@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@module_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
98@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@ $(top_builddir)/src/lib/libevas.la
99am__module_la_SOURCES_DIST = evas_engine.c evas_x_buffer.c
100@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@am__objects_2 = \
101@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@ module_la-evas_engine.lo \
102@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@ module_la-evas_x_buffer.lo
103@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@am_module_la_OBJECTS = $(am__objects_2)
104module_la_OBJECTS = $(am_module_la_OBJECTS)
105module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
106 $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
107 $(AM_CFLAGS) $(CFLAGS) $(module_la_LDFLAGS) $(LDFLAGS) -o $@
108@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@am_module_la_rpath = -rpath \
109@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@ $(pkgdir)
110DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
111depcomp = $(SHELL) $(top_srcdir)/depcomp
112am__depfiles_maybe = depfiles
113am__mv = mv -f
114COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
115 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
116LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
117 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
118 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
119 $(AM_CFLAGS) $(CFLAGS)
120AM_V_CC = $(am__v_CC_$(V))
121am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
122am__v_CC_0 = @echo " CC " $@;
123AM_V_at = $(am__v_at_$(V))
124am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
125am__v_at_0 = @
126CCLD = $(CC)
127LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
128 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
129 $(AM_LDFLAGS) $(LDFLAGS) -o $@
130AM_V_CCLD = $(am__v_CCLD_$(V))
131am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
132am__v_CCLD_0 = @echo " CCLD " $@;
133AM_V_GEN = $(am__v_GEN_$(V))
134am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
135am__v_GEN_0 = @echo " GEN " $@;
136SOURCES = $(libevas_engine_software_16_x11_la_SOURCES) \
137 $(module_la_SOURCES)
138DIST_SOURCES = $(am__libevas_engine_software_16_x11_la_SOURCES_DIST) \
139 $(am__module_la_SOURCES_DIST)
140am__includes_HEADERS_DIST = Evas_Engine_Software_16_X11.h
141HEADERS = $(includes_HEADERS)
142ETAGS = etags
143CTAGS = ctags
144DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
145ACLOCAL = @ACLOCAL@
146ALLOCA = @ALLOCA@
147AMTAR = @AMTAR@
148AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
149AR = @AR@
150AS = @AS@
151AUTOCONF = @AUTOCONF@
152AUTOHEADER = @AUTOHEADER@
153AUTOMAKE = @AUTOMAKE@
154AWK = @AWK@
155CC = @CC@
156CCDEPMODE = @CCDEPMODE@
157CFLAGS = @CFLAGS@
158CHECK_CFLAGS = @CHECK_CFLAGS@
159CHECK_LIBS = @CHECK_LIBS@
160CPP = @CPP@
161CPPFLAGS = @CPPFLAGS@
162CXX = @CXX@
163CXXCPP = @CXXCPP@
164CXXDEPMODE = @CXXDEPMODE@
165CXXFLAGS = @CXXFLAGS@
166CYGPATH_W = @CYGPATH_W@
167DEFS = @DEFS@
168DEPDIR = @DEPDIR@
169DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
170DIRECTFB_LIBS = @DIRECTFB_LIBS@
171DLLTOOL = @DLLTOOL@
172DSYMUTIL = @DSYMUTIL@
173DUMPBIN = @DUMPBIN@
174ECHO_C = @ECHO_C@
175ECHO_N = @ECHO_N@
176ECHO_T = @ECHO_T@
177ECORE_EVAS_CFLAGS = @ECORE_EVAS_CFLAGS@
178ECORE_EVAS_LIBS = @ECORE_EVAS_LIBS@
179EDB_CFLAGS = @EDB_CFLAGS@
180EDB_LIBS = @EDB_LIBS@
181EDJE_CFLAGS = @EDJE_CFLAGS@
182EDJE_LIBS = @EDJE_LIBS@
183EET_CFLAGS = @EET_CFLAGS@
184EET_LIBS = @EET_LIBS@
185EFL_COVERAGE_CFLAGS = @EFL_COVERAGE_CFLAGS@
186EFL_COVERAGE_LIBS = @EFL_COVERAGE_LIBS@
187EFL_FNMATCH_LIBS = @EFL_FNMATCH_LIBS@
188EGREP = @EGREP@
189EINA_CFLAGS = @EINA_CFLAGS@
190EINA_LIBS = @EINA_LIBS@
191EVAS_CFLAGS = @EVAS_CFLAGS@
192EVAS_LIBS = @EVAS_LIBS@
193EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
194EVIL_CFLAGS = @EVIL_CFLAGS@
195EVIL_LIBS = @EVIL_LIBS@
196EXEEXT = @EXEEXT@
197FGREP = @FGREP@
198FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
199FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
200FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
201FREETYPE_LIBS = @FREETYPE_LIBS@
202FRIBIDI_CFLAGS = @FRIBIDI_CFLAGS@
203FRIBIDI_LIBS = @FRIBIDI_LIBS@
204GL_EET_CFLAGS = @GL_EET_CFLAGS@
205GL_EET_LIBS = @GL_EET_LIBS@
206GREP = @GREP@
207HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@
208HARFBUZZ_LIBS = @HARFBUZZ_LIBS@
209INSTALL = @INSTALL@
210INSTALL_DATA = @INSTALL_DATA@
211INSTALL_PROGRAM = @INSTALL_PROGRAM@
212INSTALL_SCRIPT = @INSTALL_SCRIPT@
213INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
214LD = @LD@
215LDFLAGS = @LDFLAGS@
216LIBOBJS = @LIBOBJS@
217LIBS = @LIBS@
218LIBTOOL = @LIBTOOL@
219LINEBREAK_CFLAGS = @LINEBREAK_CFLAGS@
220LINEBREAK_LIBS = @LINEBREAK_LIBS@
221LIPO = @LIPO@
222LN_S = @LN_S@
223LTLIBOBJS = @LTLIBOBJS@
224MAKEINFO = @MAKEINFO@
225MKDIR_P = @MKDIR_P@
226MODULE_ARCH = @MODULE_ARCH@
227NM = @NM@
228NMEDIT = @NMEDIT@
229OBJC = @OBJC@
230OBJCDEPMODE = @OBJCDEPMODE@
231OBJCFLAGS = @OBJCFLAGS@
232OBJDUMP = @OBJDUMP@
233OBJEXT = @OBJEXT@
234OTOOL = @OTOOL@
235OTOOL64 = @OTOOL64@
236PACKAGE = @PACKAGE@
237PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
238PACKAGE_NAME = @PACKAGE_NAME@
239PACKAGE_STRING = @PACKAGE_STRING@
240PACKAGE_TARNAME = @PACKAGE_TARNAME@
241PACKAGE_URL = @PACKAGE_URL@
242PACKAGE_VERSION = @PACKAGE_VERSION@
243PATH_SEPARATOR = @PATH_SEPARATOR@
244PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
245PIXMAN_LIBS = @PIXMAN_LIBS@
246PKG_CONFIG = @PKG_CONFIG@
247PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
248PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
249PNG_CFLAGS = @PNG_CFLAGS@
250PNG_LIBS = @PNG_LIBS@
251RANLIB = @RANLIB@
252SDL_CFLAGS = @SDL_CFLAGS@
253SDL_LIBS = @SDL_LIBS@
254SED = @SED@
255SET_MAKE = @SET_MAKE@
256SHELL = @SHELL@
257SHM_OPEN_LINK = @SHM_OPEN_LINK@
258STRIP = @STRIP@
259SVG_CFLAGS = @SVG_CFLAGS@
260SVG_LIBS = @SVG_LIBS@
261VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
262VALGRIND_LIBS = @VALGRIND_LIBS@
263VERSION = @VERSION@
264VMAJ = @VMAJ@
265WIN32_CFLAGS = @WIN32_CFLAGS@
266WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
267XCB_CFLAGS = @XCB_CFLAGS@
268XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
269XCB_GL_LIBS = @XCB_GL_LIBS@
270XCB_LIBS = @XCB_LIBS@
271XEXT_CFLAGS = @XEXT_CFLAGS@
272XEXT_LIBS = @XEXT_LIBS@
273XMKMF = @XMKMF@
274X_CFLAGS = @X_CFLAGS@
275X_EXTRA_LIBS = @X_EXTRA_LIBS@
276X_LIBS = @X_LIBS@
277X_PRE_LIBS = @X_PRE_LIBS@
278abs_builddir = @abs_builddir@
279abs_srcdir = @abs_srcdir@
280abs_top_builddir = @abs_top_builddir@
281abs_top_srcdir = @abs_top_srcdir@
282ac_ct_CC = @ac_ct_CC@
283ac_ct_CXX = @ac_ct_CXX@
284ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
285ac_ct_OBJC = @ac_ct_OBJC@
286altivec_cflags = @altivec_cflags@
287am__include = @am__include@
288am__leading_dot = @am__leading_dot@
289am__quote = @am__quote@
290am__tar = @am__tar@
291am__untar = @am__untar@
292bindir = @bindir@
293build = @build@
294build_alias = @build_alias@
295build_cpu = @build_cpu@
296build_os = @build_os@
297build_vendor = @build_vendor@
298builddir = @builddir@
299datadir = @datadir@
300datarootdir = @datarootdir@
301dlopen_libs = @dlopen_libs@
302docdir = @docdir@
303dvidir = @dvidir@
304edje_cc = @edje_cc@
305efl_doxygen = @efl_doxygen@
306efl_have_doxygen = @efl_have_doxygen@
307evas_engine_buffer_cflags = @evas_engine_buffer_cflags@
308evas_engine_buffer_libs = @evas_engine_buffer_libs@
309evas_engine_direct3d_cflags = @evas_engine_direct3d_cflags@
310evas_engine_direct3d_libs = @evas_engine_direct3d_libs@
311evas_engine_directfb_cflags = @evas_engine_directfb_cflags@
312evas_engine_directfb_libs = @evas_engine_directfb_libs@
313evas_engine_fb_cflags = @evas_engine_fb_cflags@
314evas_engine_fb_libs = @evas_engine_fb_libs@
315evas_engine_gl_cocoa_cflags = @evas_engine_gl_cocoa_cflags@
316evas_engine_gl_cocoa_libs = @evas_engine_gl_cocoa_libs@
317evas_engine_gl_common_libs = @evas_engine_gl_common_libs@
318evas_engine_gl_sdl_cflags = @evas_engine_gl_sdl_cflags@
319evas_engine_gl_sdl_libs = @evas_engine_gl_sdl_libs@
320evas_engine_gl_xcb_cflags = @evas_engine_gl_xcb_cflags@
321evas_engine_gl_xcb_libs = @evas_engine_gl_xcb_libs@
322evas_engine_gl_xlib_cflags = @evas_engine_gl_xlib_cflags@
323evas_engine_gl_xlib_libs = @evas_engine_gl_xlib_libs@
324evas_engine_psl1ght_cflags = @evas_engine_psl1ght_cflags@
325evas_engine_psl1ght_libs = @evas_engine_psl1ght_libs@
326evas_engine_software_16_ddraw_cflags = @evas_engine_software_16_ddraw_cflags@
327evas_engine_software_16_ddraw_libs = @evas_engine_software_16_ddraw_libs@
328evas_engine_software_16_sdl_cflags = @evas_engine_software_16_sdl_cflags@
329evas_engine_software_16_sdl_libs = @evas_engine_software_16_sdl_libs@
330evas_engine_software_16_wince_cflags = @evas_engine_software_16_wince_cflags@
331evas_engine_software_16_wince_libs = @evas_engine_software_16_wince_libs@
332evas_engine_software_16_x11_cflags = @evas_engine_software_16_x11_cflags@
333evas_engine_software_16_x11_libs = @evas_engine_software_16_x11_libs@
334evas_engine_software_8_x11_cflags = @evas_engine_software_8_x11_cflags@
335evas_engine_software_8_x11_libs = @evas_engine_software_8_x11_libs@
336evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
337evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
338evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
339evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
340evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
341evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
345evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
346evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@
347evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@
348evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@
349evas_image_loader_edb_libs = @evas_image_loader_edb_libs@
350evas_image_loader_eet_cflags = @evas_image_loader_eet_cflags@
351evas_image_loader_eet_libs = @evas_image_loader_eet_libs@
352evas_image_loader_generic_cflags = @evas_image_loader_generic_cflags@
353evas_image_loader_generic_libs = @evas_image_loader_generic_libs@
354evas_image_loader_gif_cflags = @evas_image_loader_gif_cflags@
355evas_image_loader_gif_libs = @evas_image_loader_gif_libs@
356evas_image_loader_ico_cflags = @evas_image_loader_ico_cflags@
357evas_image_loader_ico_libs = @evas_image_loader_ico_libs@
358evas_image_loader_jpeg_cflags = @evas_image_loader_jpeg_cflags@
359evas_image_loader_jpeg_libs = @evas_image_loader_jpeg_libs@
360evas_image_loader_pmaps_cflags = @evas_image_loader_pmaps_cflags@
361evas_image_loader_pmaps_libs = @evas_image_loader_pmaps_libs@
362evas_image_loader_png_cflags = @evas_image_loader_png_cflags@
363evas_image_loader_png_libs = @evas_image_loader_png_libs@
364evas_image_loader_psd_cflags = @evas_image_loader_psd_cflags@
365evas_image_loader_psd_libs = @evas_image_loader_psd_libs@
366evas_image_loader_svg_cflags = @evas_image_loader_svg_cflags@
367evas_image_loader_svg_libs = @evas_image_loader_svg_libs@
368evas_image_loader_tga_cflags = @evas_image_loader_tga_cflags@
369evas_image_loader_tga_libs = @evas_image_loader_tga_libs@
370evas_image_loader_tiff_cflags = @evas_image_loader_tiff_cflags@
371evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
372evas_image_loader_wbmp_cflags = @evas_image_loader_wbmp_cflags@
373evas_image_loader_wbmp_libs = @evas_image_loader_wbmp_libs@
374evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
375evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
376exec_prefix = @exec_prefix@
377have_evas_engine_gl_x11 = @have_evas_engine_gl_x11@
378have_evas_engine_gl_xcb = @have_evas_engine_gl_xcb@
379have_evas_engine_gl_xlib = @have_evas_engine_gl_xlib@
380have_evas_engine_software_x11 = @have_evas_engine_software_x11@
381have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
382have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
383have_lcov = @have_lcov@
384host = @host@
385host_alias = @host_alias@
386host_cpu = @host_cpu@
387host_os = @host_os@
388host_vendor = @host_vendor@
389htmldir = @htmldir@
390includedir = @includedir@
391infodir = @infodir@
392install_sh = @install_sh@
393libdir = @libdir@
394libexecdir = @libexecdir@
395localedir = @localedir@
396localstatedir = @localstatedir@
397lt_ECHO = @lt_ECHO@
398lt_enable_auto_import = @lt_enable_auto_import@
399mandir = @mandir@
400mkdir_p = @mkdir_p@
401oldincludedir = @oldincludedir@
402pdfdir = @pdfdir@
403pkgconfig_requires_private = @pkgconfig_requires_private@
404prefix = @prefix@
405program_transform_name = @program_transform_name@
406psdir = @psdir@
407pthread_cflags = @pthread_cflags@
408pthread_libs = @pthread_libs@
409release_info = @release_info@
410requirement_evas = @requirement_evas@
411sbindir = @sbindir@
412sharedstatedir = @sharedstatedir@
413srcdir = @srcdir@
414sysconfdir = @sysconfdir@
415target_alias = @target_alias@
416top_build_prefix = @top_build_prefix@
417top_builddir = @top_builddir@
418top_srcdir = @top_srcdir@
419version_info = @version_info@
420MAINTAINERCLEANFILES = Makefile.in
421AM_CPPFLAGS = \
422-I. \
423-I$(top_srcdir)/src/lib \
424-I$(top_srcdir)/src/lib/include \
425-I$(top_srcdir)/src/modules/engines \
426-I$(top_srcdir)/src/modules/engines/software_16 \
427@FREETYPE_CFLAGS@ \
428@EINA_CFLAGS@ \
429@PIXMAN_CFLAGS@ \
430@evas_engine_software_16_x11_cflags@
431
432@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@SOFTWARE_16_X11_SOURCES = \
433@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@evas_engine.c \
434@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@evas_x_buffer.c
435
436@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@SOFTWARE_16_X11_LIBADD = @evas_engine_software_16_x11_libs@
437@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@includes_HEADERS = Evas_Engine_Software_16_X11.h
438@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@includesdir = $(includedir)/evas-@VMAJ@
439@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16_x11/$(MODULE_ARCH)
440@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@pkg_LTLIBRARIES = module.la
441@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@module_la_SOURCES = $(SOFTWARE_16_X11_SOURCES)
442@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@module_la_LIBADD = @EINA_LIBS@ $(SOFTWARE_16_X11_LIBADD) $(top_builddir)/src/lib/libevas.la
443@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@module_la_LDFLAGS = -no-undefined -module -avoid-version
444@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static
445@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE@noinst_LTLIBRARIES = libevas_engine_software_16_x11.la
446@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE@libevas_engine_software_16_x11_la_SOURCES = $(SOFTWARE_16_X11_SOURCES)
447@BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE@libevas_engine_software_16_x11_la_LIBADD = $(SOFTWARE_16_X11_LIBADD)
448EXTRA_DIST = evas_engine.h
449all: all-am
450
451.SUFFIXES:
452.SUFFIXES: .c .lo .o .obj
453$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
454 @for dep in $?; do \
455 case '$(am__configure_deps)' in \
456 *$$dep*) \
457 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
458 && { if test -f $@; then exit 0; else break; fi; }; \
459 exit 1;; \
460 esac; \
461 done; \
462 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/engines/software_16_x11/Makefile'; \
463 $(am__cd) $(top_srcdir) && \
464 $(AUTOMAKE) --gnu src/modules/engines/software_16_x11/Makefile
465.PRECIOUS: Makefile
466Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
467 @case '$?' in \
468 *config.status*) \
469 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
470 *) \
471 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
472 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
473 esac;
474
475$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
476 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
477
478$(top_srcdir)/configure: $(am__configure_deps)
479 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
480$(ACLOCAL_M4): $(am__aclocal_m4_deps)
481 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
482$(am__aclocal_m4_deps):
483
484clean-noinstLTLIBRARIES:
485 -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
486 @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
487 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
488 test "$$dir" != "$$p" || dir=.; \
489 echo "rm -f \"$${dir}/so_locations\""; \
490 rm -f "$${dir}/so_locations"; \
491 done
492install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
493 @$(NORMAL_INSTALL)
494 test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
495 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
496 list2=; for p in $$list; do \
497 if test -f $$p; then \
498 list2="$$list2 $$p"; \
499 else :; fi; \
500 done; \
501 test -z "$$list2" || { \
502 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
503 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
504 }
505
506uninstall-pkgLTLIBRARIES:
507 @$(NORMAL_UNINSTALL)
508 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
509 for p in $$list; do \
510 $(am__strip_dir) \
511 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgdir)/$$f'"; \
512 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgdir)/$$f"; \
513 done
514
515clean-pkgLTLIBRARIES:
516 -test -z "$(pkg_LTLIBRARIES)" || rm -f $(pkg_LTLIBRARIES)
517 @list='$(pkg_LTLIBRARIES)'; for p in $$list; do \
518 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
519 test "$$dir" != "$$p" || dir=.; \
520 echo "rm -f \"$${dir}/so_locations\""; \
521 rm -f "$${dir}/so_locations"; \
522 done
523libevas_engine_software_16_x11.la: $(libevas_engine_software_16_x11_la_OBJECTS) $(libevas_engine_software_16_x11_la_DEPENDENCIES)
524 $(AM_V_CCLD)$(LINK) $(am_libevas_engine_software_16_x11_la_rpath) $(libevas_engine_software_16_x11_la_OBJECTS) $(libevas_engine_software_16_x11_la_LIBADD) $(LIBS)
525module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES)
526 $(AM_V_CCLD)$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
527
528mostlyclean-compile:
529 -rm -f *.$(OBJEXT)
530
531distclean-compile:
532 -rm -f *.tab.c
533
534@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_engine.Plo@am__quote@
535@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_x_buffer.Plo@am__quote@
536@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_engine.Plo@am__quote@
537@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_x_buffer.Plo@am__quote@
538
539.c.o:
540@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
541@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
542@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
543@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
544@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
545@am__fastdepCC_FALSE@ $(COMPILE) -c $<
546
547.c.obj:
548@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
549@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
550@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
551@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
552@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
553@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
554
555.c.lo:
556@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
557@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
558@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
559@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
560@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
561@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
562
563module_la-evas_engine.lo: evas_engine.c
564@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) $(AM_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
565@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_engine.Tpo $(DEPDIR)/module_la-evas_engine.Plo
566@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
567@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_engine.c' object='module_la-evas_engine.lo' libtool=yes @AMDEPBACKSLASH@
568@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
569@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c
570
571module_la-evas_x_buffer.lo: evas_x_buffer.c
572@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) $(AM_CFLAGS) $(CFLAGS) -MT module_la-evas_x_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_x_buffer.Tpo -c -o module_la-evas_x_buffer.lo `test -f 'evas_x_buffer.c' || echo '$(srcdir)/'`evas_x_buffer.c
573@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_x_buffer.Tpo $(DEPDIR)/module_la-evas_x_buffer.Plo
574@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
575@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_x_buffer.c' object='module_la-evas_x_buffer.lo' libtool=yes @AMDEPBACKSLASH@
576@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
577@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_x_buffer.lo `test -f 'evas_x_buffer.c' || echo '$(srcdir)/'`evas_x_buffer.c
578
579mostlyclean-libtool:
580 -rm -f *.lo
581
582clean-libtool:
583 -rm -rf .libs _libs
584install-includesHEADERS: $(includes_HEADERS)
585 @$(NORMAL_INSTALL)
586 test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
587 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
588 for p in $$list; do \
589 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
590 echo "$$d$$p"; \
591 done | $(am__base_list) | \
592 while read files; do \
593 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
594 $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
595 done
596
597uninstall-includesHEADERS:
598 @$(NORMAL_UNINSTALL)
599 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
600 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
601 test -n "$$files" || exit 0; \
602 echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
603 cd "$(DESTDIR)$(includesdir)" && rm -f $$files
604
605ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
606 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
607 unique=`for i in $$list; do \
608 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
609 done | \
610 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
611 END { if (nonempty) { for (i in files) print i; }; }'`; \
612 mkid -fID $$unique
613tags: TAGS
614
615TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
616 $(TAGS_FILES) $(LISP)
617 set x; \
618 here=`pwd`; \
619 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
620 unique=`for i in $$list; do \
621 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
622 done | \
623 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
624 END { if (nonempty) { for (i in files) print i; }; }'`; \
625 shift; \
626 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
627 test -n "$$unique" || unique=$$empty_fix; \
628 if test $$# -gt 0; then \
629 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
630 "$$@" $$unique; \
631 else \
632 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
633 $$unique; \
634 fi; \
635 fi
636ctags: CTAGS
637CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
638 $(TAGS_FILES) $(LISP)
639 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
640 unique=`for i in $$list; do \
641 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
642 done | \
643 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
644 END { if (nonempty) { for (i in files) print i; }; }'`; \
645 test -z "$(CTAGS_ARGS)$$unique" \
646 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
647 $$unique
648
649GTAGS:
650 here=`$(am__cd) $(top_builddir) && pwd` \
651 && $(am__cd) $(top_srcdir) \
652 && gtags -i $(GTAGS_ARGS) "$$here"
653
654distclean-tags:
655 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
656
657distdir: $(DISTFILES)
658 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
659 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
660 list='$(DISTFILES)'; \
661 dist_files=`for file in $$list; do echo $$file; done | \
662 sed -e "s|^$$srcdirstrip/||;t" \
663 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
664 case $$dist_files in \
665 */*) $(MKDIR_P) `echo "$$dist_files" | \
666 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
667 sort -u` ;; \
668 esac; \
669 for file in $$dist_files; do \
670 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
671 if test -d $$d/$$file; then \
672 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
673 if test -d "$(distdir)/$$file"; then \
674 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
675 fi; \
676 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
677 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
678 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
679 fi; \
680 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
681 else \
682 test -f "$(distdir)/$$file" \
683 || cp -p $$d/$$file "$(distdir)/$$file" \
684 || exit 1; \
685 fi; \
686 done
687check-am: all-am
688check: check-am
689all-am: Makefile $(LTLIBRARIES) $(HEADERS)
690installdirs:
691 for dir in "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includesdir)"; do \
692 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
693 done
694install: install-am
695install-exec: install-exec-am
696install-data: install-data-am
697uninstall: uninstall-am
698
699install-am: all-am
700 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
701
702installcheck: installcheck-am
703install-strip:
704 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
705 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
706 `test -z '$(STRIP)' || \
707 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
708mostlyclean-generic:
709
710clean-generic:
711
712distclean-generic:
713 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
714 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
715
716maintainer-clean-generic:
717 @echo "This command is intended for maintainers to use"
718 @echo "it deletes files that may require special tools to rebuild."
719 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
720clean: clean-am
721
722clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
723 clean-pkgLTLIBRARIES mostlyclean-am
724
725distclean: distclean-am
726 -rm -rf ./$(DEPDIR)
727 -rm -f Makefile
728distclean-am: clean-am distclean-compile distclean-generic \
729 distclean-tags
730
731dvi: dvi-am
732
733dvi-am:
734
735html: html-am
736
737html-am:
738
739info: info-am
740
741info-am:
742
743install-data-am: install-includesHEADERS install-pkgLTLIBRARIES
744
745install-dvi: install-dvi-am
746
747install-dvi-am:
748
749install-exec-am:
750
751install-html: install-html-am
752
753install-html-am:
754
755install-info: install-info-am
756
757install-info-am:
758
759install-man:
760
761install-pdf: install-pdf-am
762
763install-pdf-am:
764
765install-ps: install-ps-am
766
767install-ps-am:
768
769installcheck-am:
770
771maintainer-clean: maintainer-clean-am
772 -rm -rf ./$(DEPDIR)
773 -rm -f Makefile
774maintainer-clean-am: distclean-am maintainer-clean-generic
775
776mostlyclean: mostlyclean-am
777
778mostlyclean-am: mostlyclean-compile mostlyclean-generic \
779 mostlyclean-libtool
780
781pdf: pdf-am
782
783pdf-am:
784
785ps: ps-am
786
787ps-am:
788
789uninstall-am: uninstall-includesHEADERS uninstall-pkgLTLIBRARIES
790
791.MAKE: install-am install-strip
792
793.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
794 clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
795 ctags distclean distclean-compile distclean-generic \
796 distclean-libtool distclean-tags distdir dvi dvi-am html \
797 html-am info info-am install install-am install-data \
798 install-data-am install-dvi install-dvi-am install-exec \
799 install-exec-am install-html install-html-am \
800 install-includesHEADERS install-info install-info-am \
801 install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
802 install-ps install-ps-am install-strip installcheck \
803 installcheck-am installdirs maintainer-clean \
804 maintainer-clean-generic mostlyclean mostlyclean-compile \
805 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
806 tags uninstall uninstall-am uninstall-includesHEADERS \
807 uninstall-pkgLTLIBRARIES
808
809
810# Tell versions [3.59,3.63) of GNU make to not export all variables.
811# Otherwise a system limit (for SysV at least) may be exceeded.
812.NOEXPORT:
diff --git a/libraries/evas/src/modules/engines/software_16_x11/evas_engine.c b/libraries/evas/src/modules/engines/software_16_x11/evas_engine.c
new file mode 100644
index 0000000..5378972
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_x11/evas_engine.c
@@ -0,0 +1,741 @@
1#include "evas_common.h"
2#include "evas_private.h"
3#include "evas_engine.h"
4#include "Evas_Engine_Software_16_X11.h"
5#include "evas_common_soft16.h"
6
7int _evas_engine_soft16_x11_log_dom = -1;
8/* function tables - filled in later (func and parent func) */
9static Evas_Func func, pfunc;
10/*
11struct xrdb_user
12{
13 time_t last_stat;
14 time_t last_mtime;
15 XrmDatabase db;
16};
17static struct xrdb_user xrdb_user = {0, 0, NULL};
18
19static Eina_Bool
20xrdb_user_query(const char *name, const char *cls, char **type, XrmValue *val)
21{
22 time_t last = xrdb_user.last_stat, now = time(NULL);
23
24 xrdb_user.last_stat = now;
25 if (last != now) // don't stat() more than once every second
26 {
27 struct stat st;
28 const char *home = getenv("HOME");
29 char tmp[PATH_MAX];
30
31 if (!home) goto failed;
32 snprintf(tmp, sizeof(tmp), "%s/.Xdefaults", home);
33 if (stat(tmp, &st) != 0) goto failed;
34 if (xrdb_user.last_mtime != st.st_mtime)
35 {
36 if (xrdb_user.db) XrmDestroyDatabase(xrdb_user.db);
37 xrdb_user.db = XrmGetFileDatabase(tmp);
38 if (!xrdb_user.db) goto failed;
39 xrdb_user.last_mtime = st.st_mtime;
40 }
41 }
42
43 if (!xrdb_user.db) return EINA_FALSE;
44 return XrmGetResource(xrdb_user.db, name, cls, type, val);
45
46 failed:
47 if (xrdb_user.db)
48 {
49 XrmDestroyDatabase(xrdb_user.db);
50 xrdb_user.db = NULL;
51 }
52 xrdb_user.last_mtime = 0;
53 return EINA_FALSE;
54}
55*/
56
57/* engine struct data */
58typedef struct _Render_Engine Render_Engine;
59
60struct _Render_Engine
61{
62 Display *disp;
63 Drawable draw;
64 GC gc;
65 int w, h, rot;
66 Tilebuf *tb;
67 Tilebuf_Rect *rects;
68 Tilebuf_Rect *cur_rect;
69/*
70 XrmDatabase xrdb; // xres - dpi
71 struct { // xres - dpi
72 int dpi; // xres - dpi
73 } xr; // xres - dpi
74 */
75 X_Output_Buffer *shbuf;
76 Soft16_Image *tmp_out; /* used by indirect render, like rotation */
77 Region clip_rects;
78 unsigned char end : 1;
79 unsigned char shm : 1;
80};
81
82/* prototypes we will use here */
83
84static void *eng_info(Evas *e);
85static void eng_info_free(Evas *e, void *info);
86static int eng_setup(Evas *e, void *info);
87static void eng_output_free(void *data);
88static void eng_output_resize(void *data, int w, int h);
89static void eng_output_tile_size_set(void *data, int w, int h);
90static void eng_output_redraws_rect_add(void *data, int x, int y, int w, int h);
91static void eng_output_redraws_rect_del(void *data, int x, int y, int w, int h);
92static void eng_output_redraws_clear(void *data);
93static 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);
94static void eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h);
95static void eng_output_flush(void *data);
96static void eng_output_idle_flush(void *data);
97
98/* engine api this module provides */
99static void *
100eng_info(Evas *e)
101{
102 Evas_Engine_Info_Software_16_X11 *info;
103
104 info = calloc(1, sizeof(Evas_Engine_Info_Software_16_X11));
105 if (!info) return NULL;
106 info->magic.magic = rand();
107 info->render_mode = EVAS_RENDER_MODE_BLOCKING;
108 return info;
109 e = NULL;
110}
111
112static void
113eng_info_free(Evas *e __UNUSED__, void *info)
114{
115 Evas_Engine_Info_Software_16_X11 *in;
116 in = (Evas_Engine_Info_Software_16_X11 *)info;
117 free(in);
118}
119
120static void
121_tmp_out_alloc(Render_Engine *re)
122{
123 Tilebuf_Rect *r;
124 unsigned int w = 0, h = 0;
125
126 EINA_INLIST_FOREACH(re->rects, r)
127 {
128 if (r->w > (int)w) w = r->w;
129 if (r->h > (int)h) h = r->h;
130 }
131
132 if (re->tmp_out)
133 {
134 if ((re->tmp_out->cache_entry.w < w) || (re->tmp_out->cache_entry.h < h))
135 {
136 evas_cache_image_drop(&re->tmp_out->cache_entry);
137 re->tmp_out = NULL;
138 }
139 }
140
141 if (!re->tmp_out)
142 {
143 Soft16_Image *im;
144
145 im = (Soft16_Image *) evas_cache_image_empty(evas_common_soft16_image_cache_get());
146 im->cache_entry.flags.alpha = 0;
147 evas_cache_image_surface_alloc(&im->cache_entry, w, h);
148
149 re->tmp_out = im;
150 }
151}
152
153
154static int
155eng_setup(Evas *e, void *in)
156{
157 Render_Engine *re;
158 Evas_Engine_Info_Software_16_X11 *info;
159/* X_Output_Buffer *xob; */
160 XGCValues gcv;
161
162 info = (Evas_Engine_Info_Software_16_X11 *)in;
163 if (!e->engine.data.output)
164 {
165 /* the only check - simplistic, i know, but enough for this
166 * "special purpose" engine. Remember it is meant to be used
167 * for limited power devices that have a 16bit display mode
168 * and no real other acceleration, and high resolution so we
169 * can pre-dither into 16bpp. */
170// if (DefaultDepth(info->info.display,
171// DefaultScreen(info->info.display)) != 16)
172// return;
173 /* do common routine init - we wil at least use it for core
174 * image loading and font loading/glyph rendering & placement */
175 evas_common_cpu_init();
176
177 evas_common_blend_init();
178 evas_common_image_init();
179 evas_common_convert_init();
180 evas_common_scale_init();
181 evas_common_rectangle_init();
182 evas_common_polygon_init();
183 evas_common_line_init();
184 evas_common_font_init();
185 evas_common_draw_init();
186 evas_common_tilebuf_init();
187 evas_common_soft16_image_init();
188
189 /* render engine specific data */
190 re = calloc(1, sizeof(Render_Engine));
191 if (!re)
192 return 0;
193 e->engine.data.output = re;
194 re->disp = info->info.display;
195 re->draw = info->info.drawable;
196 re->gc = XCreateGC(re->disp, re->draw, 0, &gcv);
197 re->w = e->output.w;
198 re->h = e->output.h;
199 re->rot = info->info.rotation;
200 re->tb = evas_common_tilebuf_new(e->output.w, e->output.h);
201 if (re->tb)
202 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
203 }
204 else
205 {
206 /* we changed the info after first init - do a re-eval where
207 * appropriate */
208// if (DefaultDepth(info->info.display,
209// DefaultScreen(info->info.display)) != 16)
210// return;
211 re = e->engine.data.output;
212 if (re->tb) evas_common_tilebuf_free(re->tb);
213 re->disp = info->info.display;
214 re->draw = info->info.drawable;
215 XFreeGC(re->disp, re->gc);
216 re->gc = XCreateGC(re->disp, re->draw, 0, &gcv);
217 re->w = e->output.w;
218 re->h = e->output.h;
219 re->rot = info->info.rotation;
220 re->tb = evas_common_tilebuf_new(e->output.w, e->output.h);
221 if (re->tb)
222 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
223 if (re->tmp_out)
224 {
225 evas_cache_image_drop(&re->tmp_out->cache_entry);
226 re->tmp_out = NULL;
227 }
228 }
229 if (!e->engine.data.output) return 0;
230
231/*
232 {
233 int status;
234 char *type = NULL;
235 XrmValue val;
236
237 re->xr.dpi = 75000; // dpy * 1000
238
239 status = xrdb_user_query("Xft.dpi", "Xft.Dpi", &type, &val);
240 if ((!status) || (!type))
241 {
242 if (!re->xrdb) re->xrdb = XrmGetDatabase(re->disp);
243 if (re->xrdb)
244 status = XrmGetResource(re->xrdb,
245 "Xft.dpi", "Xft.Dpi", &type, &val);
246 }
247
248 if ((status) && (type))
249 {
250 if (!strcmp(type, "String"))
251 {
252 const char *str, *dp;
253
254 str = val.addr;
255 dp = strchr(str, '.');
256 if (!dp) dp = strchr(str, ',');
257
258 if (dp)
259 {
260 int subdpi, len, i;
261 char *buf;
262
263 buf = alloca(dp - str + 1);
264 strncpy(buf, str, dp - str);
265 buf[dp - str] = 0;
266 len = strlen(dp + 1);
267 subdpi = atoi(dp + 1);
268
269 if (len < 3)
270 {
271 for (i = len; i < 3; i++) subdpi *= 10;
272 }
273 else if (len > 3)
274 {
275 for (i = len; i > 3; i--) subdpi /= 10;
276 }
277 re->xr.dpi = atoi(buf) * 1000;
278 }
279 else
280 re->xr.dpi = atoi(str) * 1000;
281 }
282 }
283 evas_common_font_dpi_set(re->xr.dpi / 1000);
284 }
285 */
286
287 /* add a draw context if we dont have one */
288 if (!e->engine.data.context)
289 e->engine.data.context =
290 e->engine.func->context_new(e->engine.data.output);
291 /* check if the display can do shm */
292 re->shm = evas_software_16_x11_x_can_do_shm(re->disp);
293
294 return 1;
295}
296
297static void
298eng_output_free(void *data)
299{
300 Render_Engine *re;
301
302 re = (Render_Engine *)data;
303
304// NOTE: XrmGetDatabase() result is shared per connection, do not free it.
305// if (re->xrdb) XrmDestroyDatabase(re->xrdb);
306
307 if (re->shbuf) evas_software_16_x11_x_output_buffer_free(re->shbuf, 0);
308 if (re->clip_rects) XDestroyRegion(re->clip_rects);
309 if (re->gc) XFreeGC(re->disp, re->gc);
310 if (re->tb) evas_common_tilebuf_free(re->tb);
311 if (re->rects) evas_common_tilebuf_free_render_rects(re->rects);
312 if (re->tmp_out) evas_cache_image_drop(&re->tmp_out->cache_entry);
313 free(re);
314
315 evas_common_font_shutdown();
316 evas_common_image_shutdown();
317 evas_common_soft16_image_shutdown();
318}
319
320static void
321eng_output_resize(void *data, int w, int h)
322{
323 Render_Engine *re;
324
325 re = (Render_Engine *)data;
326
327 if ((re->w == w) && (re->h == h)) return;
328
329 evas_common_tilebuf_free(re->tb);
330 re->w = w;
331 re->h = h;
332 re->tb = evas_common_tilebuf_new(w, h);
333 if (re->tb)
334 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
335 if (re->shbuf)
336 {
337 evas_software_16_x11_x_output_buffer_free(re->shbuf, 0);
338 re->shbuf = NULL;
339 }
340 if (re->clip_rects)
341 {
342 XDestroyRegion(re->clip_rects);
343 re->clip_rects = NULL;
344 }
345 if (re->tmp_out)
346 {
347 evas_cache_image_drop(&re->tmp_out->cache_entry);
348 re->tmp_out = NULL;
349 }
350}
351
352static void
353eng_output_tile_size_set(void *data, int w, int h)
354{
355 Render_Engine *re;
356
357 re = (Render_Engine *)data;
358 evas_common_tilebuf_set_tile_size(re->tb, w, h);
359}
360
361static void
362eng_output_redraws_rect_add(void *data, int x, int y, int w, int h)
363{
364 Render_Engine *re;
365
366 re = (Render_Engine *)data;
367 evas_common_tilebuf_add_redraw(re->tb, x, y, w, h);
368}
369
370static void
371eng_output_redraws_rect_del(void *data, int x, int y, int w, int h)
372{
373 Render_Engine *re;
374
375 re = (Render_Engine *)data;
376 evas_common_tilebuf_del_redraw(re->tb, x, y, w, h);
377}
378
379static void
380eng_output_redraws_clear(void *data)
381{
382 Render_Engine *re;
383
384 re = (Render_Engine *)data;
385 evas_common_tilebuf_clear(re->tb);
386}
387
388static inline void
389_output_buffer_alloc(Render_Engine *re)
390{
391 int w, h;
392 if (re->shbuf) return;
393
394 if ((re->rot == 0) || (re->rot == 180))
395 {
396 w = re->w;
397 h = re->h;
398 }
399 else
400 {
401 w = re->h;
402 h = re->w;
403 }
404
405 re->shbuf = evas_software_16_x11_x_output_buffer_new
406 (re->disp, DefaultVisual(re->disp, DefaultScreen(re->disp)),
407 DefaultDepth(re->disp, DefaultScreen(re->disp)),
408 w, h, 1, NULL);
409}
410
411static void *
412eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch)
413{
414 Render_Engine *re;
415 Tilebuf_Rect *rect;
416 int ux, uy, uw, uh;
417
418 re = (Render_Engine *)data;
419 if (re->end)
420 {
421 re->end = 0;
422 return NULL;
423 }
424 if (!re->rects)
425 {
426 re->rects = evas_common_tilebuf_get_render_rects(re->tb);
427 if (!re->rects) return NULL;
428
429 re->cur_rect = re->rects;
430 _output_buffer_alloc(re);
431 if (re->rot != 0) _tmp_out_alloc(re); /* grows if required */
432 }
433 if (!re->cur_rect)
434 {
435 if (re->rects) evas_common_tilebuf_free_render_rects(re->rects);
436 re->rects = NULL;
437 return NULL;
438 }
439 rect = re->cur_rect;
440 ux = rect->x; uy = rect->y; uw = rect->w; uh = rect->h;
441 re->cur_rect = (Tilebuf_Rect *)((EINA_INLIST_GET(re->cur_rect))->next);
442 if (!re->cur_rect)
443 {
444 evas_common_tilebuf_free_render_rects(re->rects);
445 re->rects = NULL;
446 re->end = 1;
447 }
448
449 *x = ux; *y = uy; *w = uw; *h = uh;
450 if (re->rot == 0)
451 {
452 *cx = ux; *cy = uy; *cw = uw; *ch = uh;
453 return re->shbuf->im;
454 }
455 else
456 {
457 *cx = 0; *cy = 0; *cw = uw; *ch = uh;
458 return re->tmp_out;
459 }
460}
461
462static void
463_blit_rot_90(Soft16_Image *dst, const Soft16_Image *src,
464 int out_x, int out_y, int w, int h)
465{
466 DATA16 *dp, *sp;
467 int x, y;
468
469 sp = src->pixels;
470 dp = dst->pixels + (out_x +
471 (w + out_y - 1) * dst->stride);
472
473 for (y = 0; y < h; y++)
474 {
475 DATA16 *dp_itr, *sp_itr;
476
477 sp_itr = sp;
478 dp_itr = dp;
479
480 for (x = 0; x < w; x++)
481 {
482 *dp_itr = *sp_itr;
483
484 sp_itr++;
485 dp_itr -= dst->stride;
486 }
487 sp += src->stride;
488 dp++;
489 }
490}
491
492static void
493_blit_rot_180(Soft16_Image *dst, const Soft16_Image *src,
494 int out_x, int out_y, int w, int h)
495{
496 DATA16 *dp, *sp;
497 int x, y;
498
499 sp = src->pixels;
500 dp = dst->pixels + ((w + out_x - 1) +
501 (h + out_y - 1) * dst->stride);
502
503 for (y = 0; y < h; y++)
504 {
505 DATA16 *dp_itr, *sp_itr;
506
507 sp_itr = sp;
508 dp_itr = dp;
509
510 for (x = 0; x < w; x++)
511 {
512 *dp_itr = *sp_itr;
513
514 sp_itr++;
515 dp_itr--;
516 }
517 sp += src->stride;
518 dp -= dst->stride;
519 }
520}
521
522static void
523_blit_rot_270(Soft16_Image *dst, const Soft16_Image *src,
524 int out_x, int out_y, int w, int h)
525{
526 DATA16 *dp, *sp;
527 int x, y;
528
529 sp = src->pixels;
530 dp = dst->pixels + ((h + out_x - 1) +
531 out_y * dst->stride);
532
533 for (y = 0; y < h; y++)
534 {
535 DATA16 *dp_itr, *sp_itr;
536
537 sp_itr = sp;
538 dp_itr = dp;
539
540 for (x = 0; x < w; x++)
541 {
542 *dp_itr = *sp_itr;
543
544 sp_itr++;
545 dp_itr += dst->stride;
546 }
547 sp += src->stride;
548 dp--;
549 }
550}
551
552static void
553_tmp_out_process(Render_Engine *re, int out_x, int out_y, int w, int h)
554{
555 Soft16_Image *d, *s;
556
557 d = re->shbuf->im;
558 s = re->tmp_out;
559
560 if ((w < 1) || (h < 1) ||
561 (out_x >= (int)d->cache_entry.w) || (out_y >= (int)d->cache_entry.h))
562 return;
563
564 if (re->rot == 90)
565 _blit_rot_90(d, s, out_x, out_y, w, h);
566 else if (re->rot == 180)
567 _blit_rot_180(d, s, out_x, out_y, w, h);
568 else if (re->rot == 270)
569 _blit_rot_270(d, s, out_x, out_y, w, h);
570}
571
572static void
573eng_output_redraws_next_update_push(void *data, void *surface __UNUSED__, int x, int y, int w, int h)
574{
575 Render_Engine *re;
576 XRectangle r = { 0, 0, 0, 0 };
577
578 re = (Render_Engine *)data;
579
580 if (!re->clip_rects)
581 re->clip_rects = XCreateRegion();
582
583 if (re->rot == 0)
584 {
585 r.x = x;
586 r.y = y;
587 r.width = w;
588 r.height = h;
589 }
590 else if (re->rot == 90)
591 {
592 r.x = y;
593 r.y = re->w - w - x;
594 r.width = h;
595 r.height = w;
596 }
597 else if (re->rot == 180)
598 {
599 r.x = re->w - w - x;
600 r.y = re->h - h - y;
601 r.width = w;
602 r.height = h;
603 }
604 else if (re->rot == 270)
605 {
606 r.x = re->h - h - y;
607 r.y = x;
608 r.width = h;
609 r.height = w;
610 }
611
612 if (re->rot != 0)
613 _tmp_out_process(re, r.x, r.y, w, h);
614 XUnionRectWithRegion(&r, re->clip_rects, re->clip_rects);
615}
616
617static void
618eng_output_flush(void *data)
619{
620 Render_Engine *re;
621
622 re = (Render_Engine *)data;
623 if (re->clip_rects)
624 {
625 XSetRegion(re->disp, re->gc, re->clip_rects);
626 XDestroyRegion(re->clip_rects);
627 re->clip_rects = NULL;
628 }
629 else return;
630
631 evas_software_16_x11_x_output_buffer_paste
632 (re->shbuf, re->draw, re->gc, 0, 0, re->shbuf->im->cache_entry.w, re->shbuf->im->cache_entry.h, 1);
633 XSetClipMask(re->disp, re->gc, None);
634}
635
636static void
637eng_output_idle_flush(void *data)
638{
639 Render_Engine *re;
640
641 re = (Render_Engine *)data;
642 if (re->shbuf)
643 {
644 evas_software_16_x11_x_output_buffer_free(re->shbuf, 0);
645 re->shbuf = NULL;
646 }
647 if (re->clip_rects)
648 {
649 XDestroyRegion(re->clip_rects);
650 re->clip_rects = NULL;
651 }
652 if (re->tmp_out)
653 {
654 evas_cache_image_drop(&re->tmp_out->cache_entry);
655 re->tmp_out = NULL;
656 }
657}
658
659static Eina_Bool
660eng_canvas_alpha_get(void *data __UNUSED__, void *context __UNUSED__)
661{
662 return EINA_FALSE;
663}
664
665/* module advertising code */
666static int
667module_open(Evas_Module *em)
668{
669 static Eina_Bool xrm_inited = EINA_FALSE;
670 if (!xrm_inited)
671 {
672 xrm_inited = EINA_TRUE;
673 XrmInitialize();
674 }
675
676 if (!em) return 0;
677 /* get whatever engine module we inherit from */
678 if (!_evas_module_engine_inherit(&pfunc, "software_16")) return 0;
679 _evas_engine_soft16_x11_log_dom = eina_log_domain_register
680 ("evas-software_16_x11", EVAS_DEFAULT_LOG_COLOR);
681 if (_evas_engine_soft16_x11_log_dom < 0)
682 {
683 EINA_LOG_ERR("Can not create a module log domain.");
684 return 0;
685 }
686
687 /* store it for later use */
688 func = pfunc;
689 /* now to override methods */
690#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
691 ORD(info);
692 ORD(info_free);
693 ORD(setup);
694 ORD(canvas_alpha_get);
695 ORD(output_free);
696 ORD(output_resize);
697 ORD(output_tile_size_set);
698 ORD(output_redraws_rect_add);
699 ORD(output_redraws_rect_del);
700 ORD(output_redraws_clear);
701 ORD(output_redraws_next_update_get);
702 ORD(output_redraws_next_update_push);
703 ORD(output_flush);
704 ORD(output_idle_flush);
705 /* now advertise out own api */
706 em->functions = (void *)(&func);
707 return 1;
708}
709
710static void
711module_close(Evas_Module *em __UNUSED__)
712{
713 eina_log_domain_unregister(_evas_engine_soft16_x11_log_dom);
714/*
715 if (xrdb_user.db)
716 {
717 XrmDestroyDatabase(xrdb_user.db);
718 xrdb_user.last_stat = 0;
719 xrdb_user.last_mtime = 0;
720 xrdb_user.db = NULL;
721 }
722 */
723}
724
725static Evas_Module_Api evas_modapi =
726{
727 EVAS_MODULE_API_VERSION,
728 "software_16_x11",
729 "none",
730 {
731 module_open,
732 module_close
733 }
734};
735
736EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_16_x11);
737
738#ifndef EVAS_STATIC_BUILD_SOFTWARE_16_X11
739EVAS_EINA_MODULE_DEFINE(engine, software_16_x11);
740#endif
741
diff --git a/libraries/evas/src/modules/engines/software_16_x11/evas_engine.h b/libraries/evas/src/modules/engines/software_16_x11/evas_engine.h
new file mode 100644
index 0000000..066ef50
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_x11/evas_engine.h
@@ -0,0 +1,63 @@
1#ifndef EVAS_ENGINE_H
2#define EVAS_ENGINE_H
3
4#include <X11/Xlib.h>
5#include <X11/Xutil.h>
6#include <X11/Xatom.h>
7#include <X11/extensions/XShm.h>
8#include <X11/Xresource.h> // xres - dpi
9#include <sys/ipc.h>
10#include <sys/shm.h>
11#include "evas_common.h"
12#include "evas_common_soft16.h"
13
14extern int _evas_engine_soft16_x11_log_dom;
15#ifdef ERR
16# undef ERR
17#endif
18#define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_soft16_x11_log_dom, __VA_ARGS__)
19
20#ifdef DBG
21# undef DBG
22#endif
23#define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_soft16_x11_log_dom, __VA_ARGS__)
24
25#ifdef INF
26# undef INF
27#endif
28#define INF(...) EINA_LOG_DOM_INFO(_evas_engine_soft16_x11_log_dom, __VA_ARGS__)
29
30#ifdef WRN
31# undef WRN
32#endif
33#define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_soft16_x11_log_dom, __VA_ARGS__)
34
35#ifdef CRIT
36# undef CRIT
37#endif
38#define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_soft16_x11_log_dom, __VA_ARGS__)
39
40typedef struct _X_Output_Buffer X_Output_Buffer;
41
42struct _X_Output_Buffer
43{
44 Soft16_Image *im;
45 Display *display;
46 XImage *xim;
47 XShmSegmentInfo *shm_info;
48 void *data;
49};
50
51/****/
52void evas_software_16_x11_x_init (void);
53
54int evas_software_16_x11_x_can_do_shm (Display *d);
55X_Output_Buffer *evas_software_16_x11_x_output_buffer_new (Display *d, Visual *v, int depth, int w, int h, int try_shm, void *data);
56void evas_software_16_x11_x_output_buffer_free (X_Output_Buffer *xob, int sync);
57void evas_software_16_x11_x_output_buffer_paste (X_Output_Buffer *xob, Drawable d, GC gc, int x, int y, int w, int h, int sync);
58DATA8 *evas_software_16_x11_x_output_buffer_data (X_Output_Buffer *xob, int *bytes_per_line_ret);
59int evas_software_16_x11_x_output_buffer_depth (X_Output_Buffer *xob);
60int evas_software_16_x11_x_output_buffer_byte_order (X_Output_Buffer *xob);
61int evas_software_16_x11_x_output_buffer_bit_order (X_Output_Buffer *xob);
62
63#endif
diff --git a/libraries/evas/src/modules/engines/software_16_x11/evas_x_buffer.c b/libraries/evas/src/modules/engines/software_16_x11/evas_x_buffer.c
new file mode 100644
index 0000000..32784b0
--- /dev/null
+++ b/libraries/evas/src/modules/engines/software_16_x11/evas_x_buffer.c
@@ -0,0 +1,186 @@
1#include "evas_common.h"
2#include "evas_engine.h"
3
4static int _x_err = 0;
5
6int
7evas_software_16_x11_x_can_do_shm(Display *d)
8{
9 static Display *cached_d = NULL;
10 static int cached_result = 0;
11
12 if (d == cached_d) return cached_result;
13 cached_d = d;
14 if (XShmQueryExtension(d))
15 {
16 X_Output_Buffer *xob;
17
18 xob = evas_software_16_x11_x_output_buffer_new
19 (d, DefaultVisual(d, DefaultScreen(d)),
20 DefaultDepth(d, DefaultScreen(d)), 16, 16, 2, NULL);
21 if (!xob)
22 {
23 cached_result = 0;
24 return 0;
25 }
26 evas_software_16_x11_x_output_buffer_free(xob, 1);
27 cached_result = 1;
28 return 1;
29 }
30 cached_result = 0;
31 return 0;
32}
33
34static void
35x_output_tmp_x_err(Display * d __UNUSED__, XErrorEvent * ev __UNUSED__)
36{
37 _x_err = 1;
38 return;
39}
40
41X_Output_Buffer *
42evas_software_16_x11_x_output_buffer_new(Display *d, Visual *v, int depth, int w, int h, int try_shm, void *data)
43{
44 X_Output_Buffer *xob;
45
46 xob = calloc(1, sizeof(X_Output_Buffer));
47 if (!xob) return NULL;
48
49 xob->display = d;
50 xob->xim = NULL;
51 xob->shm_info = NULL;
52
53 if (try_shm > 0)
54 {
55 xob->shm_info = malloc(sizeof(XShmSegmentInfo));
56 if (xob->shm_info)
57 {
58 xob->xim = XShmCreateImage(d, v, depth, ZPixmap, NULL,
59 xob->shm_info, w, h);
60 if (xob->xim)
61 {
62 xob->shm_info->shmid = shmget(IPC_PRIVATE,
63 xob->xim->bytes_per_line *
64 xob->xim->height,
65 IPC_CREAT | 0777);
66 if (xob->shm_info->shmid >= 0)
67 {
68 xob->shm_info->readOnly = False;
69 xob->shm_info->shmaddr = xob->xim->data =
70 shmat(xob->shm_info->shmid, 0, 0);
71 if (xob->shm_info->shmaddr)
72 {
73 XErrorHandler ph;
74
75 XSync(d, False);
76 _x_err = 0;
77 ph = XSetErrorHandler((XErrorHandler)
78 x_output_tmp_x_err);
79 XShmAttach(d, xob->shm_info);
80 XSync(d, False);
81 XSetErrorHandler((XErrorHandler)ph);
82 if (!_x_err)
83 {
84 xob->im = (Soft16_Image *) evas_cache_image_data(evas_common_soft16_image_cache_get(), w, h, (DATA32 *) xob->xim->data, 0, EVAS_COLORSPACE_RGB565_A5P);
85 if (xob->im)
86 xob->im->stride = xob->xim->bytes_per_line / sizeof(DATA16);
87 return xob;
88 }
89 }
90 shmdt(xob->shm_info->shmaddr);
91 shmctl(xob->shm_info->shmid, IPC_RMID, 0);
92 }
93 if (xob->xim) XDestroyImage(xob->xim);
94 xob->xim = NULL;
95 }
96 if (xob->shm_info) free(xob->shm_info);
97 xob->shm_info = NULL;
98 }
99 }
100
101 if (try_shm > 1) return NULL;
102
103 xob->xim = XCreateImage(d, v, depth, ZPixmap, 0, data, w, h, 32, 0);
104 if (!xob->xim)
105 {
106 free(xob);
107 return NULL;
108 }
109
110 xob->data = data;
111
112 if (!xob->xim->data)
113 {
114 xob->xim->data = malloc(xob->xim->bytes_per_line * xob->xim->height);
115 if (!xob->xim->data)
116 {
117 XDestroyImage(xob->xim);
118 free(xob);
119 return NULL;
120 }
121 }
122 if (xob->im)
123 evas_cache_image_drop(&xob->im->cache_entry);
124
125 xob->im = (Soft16_Image *) evas_cache_image_data(evas_common_soft16_image_cache_get(), w, h, (DATA32 *) xob->xim->data, 0, EVAS_COLORSPACE_RGB565_A5P);
126 if (xob->im)
127 xob->im->stride = xob->xim->bytes_per_line / sizeof(DATA16);
128 return xob;
129}
130
131void
132evas_software_16_x11_x_output_buffer_free(X_Output_Buffer *xob, int sync)
133{
134 if (xob->shm_info)
135 {
136 if (sync) XSync(xob->display, False);
137 XShmDetach(xob->display, xob->shm_info);
138 XDestroyImage(xob->xim);
139 shmdt(xob->shm_info->shmaddr);
140 shmctl(xob->shm_info->shmid, IPC_RMID, 0);
141 free(xob->shm_info);
142 }
143 else
144 {
145 if (xob->data) xob->xim->data = NULL;
146 XDestroyImage(xob->xim);
147 }
148 free(xob);
149}
150
151void
152evas_software_16_x11_x_output_buffer_paste(X_Output_Buffer *xob, Drawable d, GC gc, int x, int y, int w, int h, int sync)
153{
154 if (xob->shm_info)
155 {
156 XShmPutImage(xob->display, d, gc, xob->xim, 0, 0, x, y, w, h, False);
157 if (sync) XSync(xob->display, False);
158 }
159 else
160 XPutImage(xob->display, d, gc, xob->xim, 0, 0, x, y, w, h);
161}
162
163DATA8 *
164evas_software_16_x11_x_output_buffer_data(X_Output_Buffer *xob, int *bytes_per_line_ret)
165{
166 if (bytes_per_line_ret) *bytes_per_line_ret = xob->xim->bytes_per_line;
167 return (DATA8*) xob->xim->data;
168}
169
170int
171evas_software_16_x11_x_output_buffer_depth(X_Output_Buffer *xob)
172{
173 return xob->xim->bits_per_pixel;
174}
175
176int
177evas_software_16_x11_x_output_buffer_byte_order(X_Output_Buffer *xob)
178{
179 return xob->xim->byte_order;
180}
181
182int
183evas_software_16_x11_x_output_buffer_bit_order(X_Output_Buffer *xob)
184{
185 return xob->xim->bitmap_bit_order;
186}