aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/software_16_ddraw
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/evas/src/modules/engines/software_16_ddraw')
-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
7 files changed, 1821 insertions, 0 deletions
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__ */