aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/software_gdi
diff options
context:
space:
mode:
authorDavid Walter Seikel2013-01-13 17:29:19 +1000
committerDavid Walter Seikel2013-01-13 17:29:19 +1000
commit07274513e984f0b5544586c74508ccd16e7dcafa (patch)
treeb32ff2a9136fbc1a4a6a0ed1e4d79cde0f5f16d9 /libraries/evas/src/modules/engines/software_gdi
parentAdded Irrlicht 1.8, but without all the Windows binaries. (diff)
downloadSledjHamr-07274513e984f0b5544586c74508ccd16e7dcafa.zip
SledjHamr-07274513e984f0b5544586c74508ccd16e7dcafa.tar.gz
SledjHamr-07274513e984f0b5544586c74508ccd16e7dcafa.tar.bz2
SledjHamr-07274513e984f0b5544586c74508ccd16e7dcafa.tar.xz
Remove EFL, since it's been released now.
Diffstat (limited to 'libraries/evas/src/modules/engines/software_gdi')
-rw-r--r--libraries/evas/src/modules/engines/software_gdi/Evas_Engine_Software_Gdi.h32
-rw-r--r--libraries/evas/src/modules/engines/software_gdi/Makefile.am47
-rw-r--r--libraries/evas/src/modules/engines/software_gdi/Makefile.in842
-rw-r--r--libraries/evas/src/modules/engines/software_gdi/evas_engine.c387
-rw-r--r--libraries/evas/src/modules/engines/software_gdi/evas_engine.h209
-rw-r--r--libraries/evas/src/modules/engines/software_gdi/evas_gdi_buffer.c88
-rw-r--r--libraries/evas/src/modules/engines/software_gdi/evas_gdi_main.c100
-rw-r--r--libraries/evas/src/modules/engines/software_gdi/evas_outbuf.c656
8 files changed, 0 insertions, 2361 deletions
diff --git a/libraries/evas/src/modules/engines/software_gdi/Evas_Engine_Software_Gdi.h b/libraries/evas/src/modules/engines/software_gdi/Evas_Engine_Software_Gdi.h
deleted file mode 100644
index deac5b2..0000000
--- a/libraries/evas/src/modules/engines/software_gdi/Evas_Engine_Software_Gdi.h
+++ /dev/null
@@ -1,32 +0,0 @@
1#ifndef __EVAS_ENGINE_SOFTWARE_GDI_H__
2#define __EVAS_ENGINE_SOFTWARE_GDI_H__
3
4
5#define WIN32_LEAN_AND_MEAN
6#include <windows.h>
7#undef WIN32_LEAN_AND_MEAN
8
9
10typedef struct _Evas_Engine_Info_Software_Gdi Evas_Engine_Info_Software_Gdi;
11
12struct _Evas_Engine_Info_Software_Gdi
13{
14 /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
15 /* at you and make nasty noises */
16 Evas_Engine_Info magic;
17
18 struct {
19 HWND window;
20 int depth;
21 int rotation;
22 unsigned int borderless : 1;
23 unsigned int fullscreen : 1;
24 unsigned int region : 1;
25 } info;
26
27 /* non-blocking or blocking mode */
28 Evas_Engine_Render_Mode render_mode;
29};
30
31
32#endif /* __EVAS_ENGINE_SOFTWARE_GDI_H__ */
diff --git a/libraries/evas/src/modules/engines/software_gdi/Makefile.am b/libraries/evas/src/modules/engines/software_gdi/Makefile.am
deleted file mode 100644
index ccb8084..0000000
--- a/libraries/evas/src/modules/engines/software_gdi/Makefile.am
+++ /dev/null
@@ -1,47 +0,0 @@
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@EINA_CFLAGS@ \
10@FREETYPE_CFLAGS@ \
11@PIXMAN_CFLAGS@ \
12@evas_engine_software_gdi_cflags@
13
14if BUILD_ENGINE_SOFTWARE_GDI
15
16SOFTWARE_GDI_SOURCES = \
17evas_engine.c \
18evas_outbuf.c \
19evas_gdi_buffer.c \
20evas_gdi_main.c
21
22SOFTWARE_GDI_LIBADD = @evas_engine_software_gdi_libs@
23
24
25includes_HEADERS = Evas_Engine_Software_Gdi.h
26includesdir = $(includedir)/evas-@VMAJ@
27
28if !EVAS_STATIC_BUILD_SOFTWARE_GDI
29
30pkgdir = $(libdir)/evas/modules/engines/software_gdi/$(MODULE_ARCH)
31pkg_LTLIBRARIES = module.la
32module_la_SOURCES = $(SOFTWARE_GDI_SOURCES)
33module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(SOFTWARE_GDI_LIBADD)
34module_la_LDFLAGS = @lt_enable_auto_import@ -no-undefined -module -avoid-version
35module_la_LIBTOOLFLAGS = --tag=disable-static
36
37else
38
39noinst_LTLIBRARIES = libevas_engine_software_gdi.la
40
41libevas_engine_software_gdi_la_SOURCES = $(SOFTWARE_GDI_SOURCES)
42libevas_engine_software_gdi_la_LIBADD = $(SOFTWARE_GDI_LIBADD)
43
44endif
45endif
46
47EXTRA_DIST = evas_engine.h
diff --git a/libraries/evas/src/modules/engines/software_gdi/Makefile.in b/libraries/evas/src/modules/engines/software_gdi/Makefile.in
deleted file mode 100644
index 507926d..0000000
--- a/libraries/evas/src/modules/engines/software_gdi/Makefile.in
+++ /dev/null
@@ -1,842 +0,0 @@
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_gdi
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_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE@libevas_engine_software_gdi_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
86am__libevas_engine_software_gdi_la_SOURCES_DIST = evas_engine.c \
87 evas_outbuf.c evas_gdi_buffer.c evas_gdi_main.c
88@BUILD_ENGINE_SOFTWARE_GDI_TRUE@am__objects_1 = evas_engine.lo \
89@BUILD_ENGINE_SOFTWARE_GDI_TRUE@ evas_outbuf.lo \
90@BUILD_ENGINE_SOFTWARE_GDI_TRUE@ evas_gdi_buffer.lo \
91@BUILD_ENGINE_SOFTWARE_GDI_TRUE@ evas_gdi_main.lo
92@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE@am_libevas_engine_software_gdi_la_OBJECTS = $(am__objects_1)
93libevas_engine_software_gdi_la_OBJECTS = \
94 $(am_libevas_engine_software_gdi_la_OBJECTS)
95AM_V_lt = $(am__v_lt_$(V))
96am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
97am__v_lt_0 = --silent
98@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE@am_libevas_engine_software_gdi_la_rpath =
99@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la \
100@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@ $(am__DEPENDENCIES_1)
101am__module_la_SOURCES_DIST = evas_engine.c evas_outbuf.c \
102 evas_gdi_buffer.c evas_gdi_main.c
103@BUILD_ENGINE_SOFTWARE_GDI_TRUE@am__objects_2 = \
104@BUILD_ENGINE_SOFTWARE_GDI_TRUE@ module_la-evas_engine.lo \
105@BUILD_ENGINE_SOFTWARE_GDI_TRUE@ module_la-evas_outbuf.lo \
106@BUILD_ENGINE_SOFTWARE_GDI_TRUE@ module_la-evas_gdi_buffer.lo \
107@BUILD_ENGINE_SOFTWARE_GDI_TRUE@ module_la-evas_gdi_main.lo
108@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@am_module_la_OBJECTS = $(am__objects_2)
109module_la_OBJECTS = $(am_module_la_OBJECTS)
110module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
111 $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
112 $(AM_CFLAGS) $(CFLAGS) $(module_la_LDFLAGS) $(LDFLAGS) -o $@
113@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@am_module_la_rpath = -rpath \
114@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@ $(pkgdir)
115DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
116depcomp = $(SHELL) $(top_srcdir)/depcomp
117am__depfiles_maybe = depfiles
118am__mv = mv -f
119COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
120 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
121LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
122 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
123 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
124 $(AM_CFLAGS) $(CFLAGS)
125AM_V_CC = $(am__v_CC_$(V))
126am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
127am__v_CC_0 = @echo " CC " $@;
128AM_V_at = $(am__v_at_$(V))
129am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
130am__v_at_0 = @
131CCLD = $(CC)
132LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
133 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
134 $(AM_LDFLAGS) $(LDFLAGS) -o $@
135AM_V_CCLD = $(am__v_CCLD_$(V))
136am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
137am__v_CCLD_0 = @echo " CCLD " $@;
138AM_V_GEN = $(am__v_GEN_$(V))
139am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
140am__v_GEN_0 = @echo " GEN " $@;
141SOURCES = $(libevas_engine_software_gdi_la_SOURCES) \
142 $(module_la_SOURCES)
143DIST_SOURCES = $(am__libevas_engine_software_gdi_la_SOURCES_DIST) \
144 $(am__module_la_SOURCES_DIST)
145am__includes_HEADERS_DIST = Evas_Engine_Software_Gdi.h
146HEADERS = $(includes_HEADERS)
147ETAGS = etags
148CTAGS = ctags
149DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
150ACLOCAL = @ACLOCAL@
151ALLOCA = @ALLOCA@
152AMTAR = @AMTAR@
153AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
154AR = @AR@
155AS = @AS@
156AUTOCONF = @AUTOCONF@
157AUTOHEADER = @AUTOHEADER@
158AUTOMAKE = @AUTOMAKE@
159AWK = @AWK@
160CC = @CC@
161CCDEPMODE = @CCDEPMODE@
162CFLAGS = @CFLAGS@
163CHECK_CFLAGS = @CHECK_CFLAGS@
164CHECK_LIBS = @CHECK_LIBS@
165CPP = @CPP@
166CPPFLAGS = @CPPFLAGS@
167CXX = @CXX@
168CXXCPP = @CXXCPP@
169CXXDEPMODE = @CXXDEPMODE@
170CXXFLAGS = @CXXFLAGS@
171CYGPATH_W = @CYGPATH_W@
172DEFS = @DEFS@
173DEPDIR = @DEPDIR@
174DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
175DIRECTFB_LIBS = @DIRECTFB_LIBS@
176DLLTOOL = @DLLTOOL@
177DSYMUTIL = @DSYMUTIL@
178DUMPBIN = @DUMPBIN@
179ECHO_C = @ECHO_C@
180ECHO_N = @ECHO_N@
181ECHO_T = @ECHO_T@
182ECORE_EVAS_CFLAGS = @ECORE_EVAS_CFLAGS@
183ECORE_EVAS_LIBS = @ECORE_EVAS_LIBS@
184EDB_CFLAGS = @EDB_CFLAGS@
185EDB_LIBS = @EDB_LIBS@
186EDJE_CFLAGS = @EDJE_CFLAGS@
187EDJE_LIBS = @EDJE_LIBS@
188EET_CFLAGS = @EET_CFLAGS@
189EET_LIBS = @EET_LIBS@
190EFL_COVERAGE_CFLAGS = @EFL_COVERAGE_CFLAGS@
191EFL_COVERAGE_LIBS = @EFL_COVERAGE_LIBS@
192EFL_FNMATCH_LIBS = @EFL_FNMATCH_LIBS@
193EGREP = @EGREP@
194EINA_CFLAGS = @EINA_CFLAGS@
195EINA_LIBS = @EINA_LIBS@
196EVAS_CFLAGS = @EVAS_CFLAGS@
197EVAS_LIBS = @EVAS_LIBS@
198EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
199EVIL_CFLAGS = @EVIL_CFLAGS@
200EVIL_LIBS = @EVIL_LIBS@
201EXEEXT = @EXEEXT@
202EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
203EXOTIC_LIBS = @EXOTIC_LIBS@
204FGREP = @FGREP@
205FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
206FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
207FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
208FREETYPE_LIBS = @FREETYPE_LIBS@
209FRIBIDI_CFLAGS = @FRIBIDI_CFLAGS@
210FRIBIDI_LIBS = @FRIBIDI_LIBS@
211GL_EET_CFLAGS = @GL_EET_CFLAGS@
212GL_EET_LIBS = @GL_EET_LIBS@
213GREP = @GREP@
214HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@
215HARFBUZZ_LIBS = @HARFBUZZ_LIBS@
216INSTALL = @INSTALL@
217INSTALL_DATA = @INSTALL_DATA@
218INSTALL_PROGRAM = @INSTALL_PROGRAM@
219INSTALL_SCRIPT = @INSTALL_SCRIPT@
220INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
221LD = @LD@
222LDFLAGS = @LDFLAGS@
223LIBOBJS = @LIBOBJS@
224LIBS = @LIBS@
225LIBTOOL = @LIBTOOL@
226LINEBREAK_CFLAGS = @LINEBREAK_CFLAGS@
227LINEBREAK_LIBS = @LINEBREAK_LIBS@
228LIPO = @LIPO@
229LN_S = @LN_S@
230LTLIBOBJS = @LTLIBOBJS@
231MAKEINFO = @MAKEINFO@
232MKDIR_P = @MKDIR_P@
233MODULE_ARCH = @MODULE_ARCH@
234NM = @NM@
235NMEDIT = @NMEDIT@
236OBJC = @OBJC@
237OBJCDEPMODE = @OBJCDEPMODE@
238OBJCFLAGS = @OBJCFLAGS@
239OBJDUMP = @OBJDUMP@
240OBJEXT = @OBJEXT@
241OTOOL = @OTOOL@
242OTOOL64 = @OTOOL64@
243PACKAGE = @PACKAGE@
244PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
245PACKAGE_NAME = @PACKAGE_NAME@
246PACKAGE_STRING = @PACKAGE_STRING@
247PACKAGE_TARNAME = @PACKAGE_TARNAME@
248PACKAGE_URL = @PACKAGE_URL@
249PACKAGE_VERSION = @PACKAGE_VERSION@
250PATH_SEPARATOR = @PATH_SEPARATOR@
251PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
252PIXMAN_LIBS = @PIXMAN_LIBS@
253PKG_CONFIG = @PKG_CONFIG@
254PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
255PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
256PNG_CFLAGS = @PNG_CFLAGS@
257PNG_LIBS = @PNG_LIBS@
258RANLIB = @RANLIB@
259SDL_CFLAGS = @SDL_CFLAGS@
260SDL_LIBS = @SDL_LIBS@
261SED = @SED@
262SET_MAKE = @SET_MAKE@
263SHELL = @SHELL@
264SHM_OPEN_LINK = @SHM_OPEN_LINK@
265STRIP = @STRIP@
266SVG_CFLAGS = @SVG_CFLAGS@
267SVG_LIBS = @SVG_LIBS@
268VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
269VALGRIND_LIBS = @VALGRIND_LIBS@
270VERSION = @VERSION@
271VMAJ = @VMAJ@
272WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
273WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
274XCB_CFLAGS = @XCB_CFLAGS@
275XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
276XCB_GL_LIBS = @XCB_GL_LIBS@
277XCB_LIBS = @XCB_LIBS@
278XEXT_CFLAGS = @XEXT_CFLAGS@
279XEXT_LIBS = @XEXT_LIBS@
280XMKMF = @XMKMF@
281X_CFLAGS = @X_CFLAGS@
282X_EXTRA_LIBS = @X_EXTRA_LIBS@
283X_LIBS = @X_LIBS@
284X_PRE_LIBS = @X_PRE_LIBS@
285abs_builddir = @abs_builddir@
286abs_srcdir = @abs_srcdir@
287abs_top_builddir = @abs_top_builddir@
288abs_top_srcdir = @abs_top_srcdir@
289ac_ct_CC = @ac_ct_CC@
290ac_ct_CXX = @ac_ct_CXX@
291ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
292ac_ct_OBJC = @ac_ct_OBJC@
293altivec_cflags = @altivec_cflags@
294am__include = @am__include@
295am__leading_dot = @am__leading_dot@
296am__quote = @am__quote@
297am__tar = @am__tar@
298am__untar = @am__untar@
299bindir = @bindir@
300build = @build@
301build_alias = @build_alias@
302build_cpu = @build_cpu@
303build_os = @build_os@
304build_vendor = @build_vendor@
305builddir = @builddir@
306datadir = @datadir@
307datarootdir = @datarootdir@
308dlopen_libs = @dlopen_libs@
309docdir = @docdir@
310dvidir = @dvidir@
311edje_cc = @edje_cc@
312efl_doxygen = @efl_doxygen@
313efl_have_doxygen = @efl_have_doxygen@
314evas_engine_buffer_cflags = @evas_engine_buffer_cflags@
315evas_engine_buffer_libs = @evas_engine_buffer_libs@
316evas_engine_direct3d_cflags = @evas_engine_direct3d_cflags@
317evas_engine_direct3d_libs = @evas_engine_direct3d_libs@
318evas_engine_directfb_cflags = @evas_engine_directfb_cflags@
319evas_engine_directfb_libs = @evas_engine_directfb_libs@
320evas_engine_fb_cflags = @evas_engine_fb_cflags@
321evas_engine_fb_libs = @evas_engine_fb_libs@
322evas_engine_gl_cocoa_cflags = @evas_engine_gl_cocoa_cflags@
323evas_engine_gl_cocoa_libs = @evas_engine_gl_cocoa_libs@
324evas_engine_gl_common_libs = @evas_engine_gl_common_libs@
325evas_engine_gl_sdl_cflags = @evas_engine_gl_sdl_cflags@
326evas_engine_gl_sdl_libs = @evas_engine_gl_sdl_libs@
327evas_engine_gl_xcb_cflags = @evas_engine_gl_xcb_cflags@
328evas_engine_gl_xcb_libs = @evas_engine_gl_xcb_libs@
329evas_engine_gl_xlib_cflags = @evas_engine_gl_xlib_cflags@
330evas_engine_gl_xlib_libs = @evas_engine_gl_xlib_libs@
331evas_engine_psl1ght_cflags = @evas_engine_psl1ght_cflags@
332evas_engine_psl1ght_libs = @evas_engine_psl1ght_libs@
333evas_engine_software_16_ddraw_cflags = @evas_engine_software_16_ddraw_cflags@
334evas_engine_software_16_ddraw_libs = @evas_engine_software_16_ddraw_libs@
335evas_engine_software_16_sdl_cflags = @evas_engine_software_16_sdl_cflags@
336evas_engine_software_16_sdl_libs = @evas_engine_software_16_sdl_libs@
337evas_engine_software_16_wince_cflags = @evas_engine_software_16_wince_cflags@
338evas_engine_software_16_wince_libs = @evas_engine_software_16_wince_libs@
339evas_engine_software_16_x11_cflags = @evas_engine_software_16_x11_cflags@
340evas_engine_software_16_x11_libs = @evas_engine_software_16_x11_libs@
341evas_engine_software_8_x11_cflags = @evas_engine_software_8_x11_cflags@
342evas_engine_software_8_x11_libs = @evas_engine_software_8_x11_libs@
343evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
344evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
345evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
346evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
347evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
348evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
349evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
350evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
351evas_engine_wayland_egl_cflags = @evas_engine_wayland_egl_cflags@
352evas_engine_wayland_egl_libs = @evas_engine_wayland_egl_libs@
353evas_engine_wayland_shm_cflags = @evas_engine_wayland_shm_cflags@
354evas_engine_wayland_shm_libs = @evas_engine_wayland_shm_libs@
355evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@
356evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@
357evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@
358evas_image_loader_edb_libs = @evas_image_loader_edb_libs@
359evas_image_loader_eet_cflags = @evas_image_loader_eet_cflags@
360evas_image_loader_eet_libs = @evas_image_loader_eet_libs@
361evas_image_loader_generic_cflags = @evas_image_loader_generic_cflags@
362evas_image_loader_generic_libs = @evas_image_loader_generic_libs@
363evas_image_loader_gif_cflags = @evas_image_loader_gif_cflags@
364evas_image_loader_gif_libs = @evas_image_loader_gif_libs@
365evas_image_loader_ico_cflags = @evas_image_loader_ico_cflags@
366evas_image_loader_ico_libs = @evas_image_loader_ico_libs@
367evas_image_loader_jpeg_cflags = @evas_image_loader_jpeg_cflags@
368evas_image_loader_jpeg_libs = @evas_image_loader_jpeg_libs@
369evas_image_loader_pmaps_cflags = @evas_image_loader_pmaps_cflags@
370evas_image_loader_pmaps_libs = @evas_image_loader_pmaps_libs@
371evas_image_loader_png_cflags = @evas_image_loader_png_cflags@
372evas_image_loader_png_libs = @evas_image_loader_png_libs@
373evas_image_loader_psd_cflags = @evas_image_loader_psd_cflags@
374evas_image_loader_psd_libs = @evas_image_loader_psd_libs@
375evas_image_loader_svg_cflags = @evas_image_loader_svg_cflags@
376evas_image_loader_svg_libs = @evas_image_loader_svg_libs@
377evas_image_loader_tga_cflags = @evas_image_loader_tga_cflags@
378evas_image_loader_tga_libs = @evas_image_loader_tga_libs@
379evas_image_loader_tiff_cflags = @evas_image_loader_tiff_cflags@
380evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
381evas_image_loader_wbmp_cflags = @evas_image_loader_wbmp_cflags@
382evas_image_loader_wbmp_libs = @evas_image_loader_wbmp_libs@
383evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
384evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
385exec_prefix = @exec_prefix@
386have_evas_engine_gl_x11 = @have_evas_engine_gl_x11@
387have_evas_engine_gl_xcb = @have_evas_engine_gl_xcb@
388have_evas_engine_gl_xlib = @have_evas_engine_gl_xlib@
389have_evas_engine_software_x11 = @have_evas_engine_software_x11@
390have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
391have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
392have_lcov = @have_lcov@
393host = @host@
394host_alias = @host_alias@
395host_cpu = @host_cpu@
396host_os = @host_os@
397host_vendor = @host_vendor@
398htmldir = @htmldir@
399includedir = @includedir@
400infodir = @infodir@
401install_sh = @install_sh@
402libdir = @libdir@
403libexecdir = @libexecdir@
404localedir = @localedir@
405localstatedir = @localstatedir@
406lt_ECHO = @lt_ECHO@
407lt_enable_auto_import = @lt_enable_auto_import@
408mandir = @mandir@
409mkdir_p = @mkdir_p@
410oldincludedir = @oldincludedir@
411pdfdir = @pdfdir@
412pkgconfig_requires_private = @pkgconfig_requires_private@
413prefix = @prefix@
414program_transform_name = @program_transform_name@
415psdir = @psdir@
416pthread_cflags = @pthread_cflags@
417pthread_libs = @pthread_libs@
418release_info = @release_info@
419requirement_evas = @requirement_evas@
420sbindir = @sbindir@
421sharedstatedir = @sharedstatedir@
422srcdir = @srcdir@
423sysconfdir = @sysconfdir@
424target_alias = @target_alias@
425top_build_prefix = @top_build_prefix@
426top_builddir = @top_builddir@
427top_srcdir = @top_srcdir@
428version_info = @version_info@
429MAINTAINERCLEANFILES = Makefile.in
430AM_CPPFLAGS = \
431-I. \
432-I$(top_srcdir)/src/lib \
433-I$(top_srcdir)/src/lib/include \
434-I$(top_srcdir)/src/modules/engines \
435@EINA_CFLAGS@ \
436@FREETYPE_CFLAGS@ \
437@PIXMAN_CFLAGS@ \
438@evas_engine_software_gdi_cflags@
439
440@BUILD_ENGINE_SOFTWARE_GDI_TRUE@SOFTWARE_GDI_SOURCES = \
441@BUILD_ENGINE_SOFTWARE_GDI_TRUE@evas_engine.c \
442@BUILD_ENGINE_SOFTWARE_GDI_TRUE@evas_outbuf.c \
443@BUILD_ENGINE_SOFTWARE_GDI_TRUE@evas_gdi_buffer.c \
444@BUILD_ENGINE_SOFTWARE_GDI_TRUE@evas_gdi_main.c
445
446@BUILD_ENGINE_SOFTWARE_GDI_TRUE@SOFTWARE_GDI_LIBADD = @evas_engine_software_gdi_libs@
447@BUILD_ENGINE_SOFTWARE_GDI_TRUE@includes_HEADERS = Evas_Engine_Software_Gdi.h
448@BUILD_ENGINE_SOFTWARE_GDI_TRUE@includesdir = $(includedir)/evas-@VMAJ@
449@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_gdi/$(MODULE_ARCH)
450@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@pkg_LTLIBRARIES = module.la
451@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@module_la_SOURCES = $(SOFTWARE_GDI_SOURCES)
452@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(SOFTWARE_GDI_LIBADD)
453@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@module_la_LDFLAGS = @lt_enable_auto_import@ -no-undefined -module -avoid-version
454@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static
455@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE@noinst_LTLIBRARIES = libevas_engine_software_gdi.la
456@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE@libevas_engine_software_gdi_la_SOURCES = $(SOFTWARE_GDI_SOURCES)
457@BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE@libevas_engine_software_gdi_la_LIBADD = $(SOFTWARE_GDI_LIBADD)
458EXTRA_DIST = evas_engine.h
459all: all-am
460
461.SUFFIXES:
462.SUFFIXES: .c .lo .o .obj
463$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
464 @for dep in $?; do \
465 case '$(am__configure_deps)' in \
466 *$$dep*) \
467 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
468 && { if test -f $@; then exit 0; else break; fi; }; \
469 exit 1;; \
470 esac; \
471 done; \
472 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/engines/software_gdi/Makefile'; \
473 $(am__cd) $(top_srcdir) && \
474 $(AUTOMAKE) --gnu src/modules/engines/software_gdi/Makefile
475.PRECIOUS: Makefile
476Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
477 @case '$?' in \
478 *config.status*) \
479 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
480 *) \
481 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
482 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
483 esac;
484
485$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
486 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
487
488$(top_srcdir)/configure: $(am__configure_deps)
489 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
490$(ACLOCAL_M4): $(am__aclocal_m4_deps)
491 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
492$(am__aclocal_m4_deps):
493
494clean-noinstLTLIBRARIES:
495 -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
496 @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
497 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
498 test "$$dir" != "$$p" || dir=.; \
499 echo "rm -f \"$${dir}/so_locations\""; \
500 rm -f "$${dir}/so_locations"; \
501 done
502install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
503 @$(NORMAL_INSTALL)
504 test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
505 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
506 list2=; for p in $$list; do \
507 if test -f $$p; then \
508 list2="$$list2 $$p"; \
509 else :; fi; \
510 done; \
511 test -z "$$list2" || { \
512 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
513 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
514 }
515
516uninstall-pkgLTLIBRARIES:
517 @$(NORMAL_UNINSTALL)
518 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
519 for p in $$list; do \
520 $(am__strip_dir) \
521 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgdir)/$$f'"; \
522 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgdir)/$$f"; \
523 done
524
525clean-pkgLTLIBRARIES:
526 -test -z "$(pkg_LTLIBRARIES)" || rm -f $(pkg_LTLIBRARIES)
527 @list='$(pkg_LTLIBRARIES)'; for p in $$list; do \
528 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
529 test "$$dir" != "$$p" || dir=.; \
530 echo "rm -f \"$${dir}/so_locations\""; \
531 rm -f "$${dir}/so_locations"; \
532 done
533libevas_engine_software_gdi.la: $(libevas_engine_software_gdi_la_OBJECTS) $(libevas_engine_software_gdi_la_DEPENDENCIES)
534 $(AM_V_CCLD)$(LINK) $(am_libevas_engine_software_gdi_la_rpath) $(libevas_engine_software_gdi_la_OBJECTS) $(libevas_engine_software_gdi_la_LIBADD) $(LIBS)
535module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES)
536 $(AM_V_CCLD)$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
537
538mostlyclean-compile:
539 -rm -f *.$(OBJEXT)
540
541distclean-compile:
542 -rm -f *.tab.c
543
544@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_engine.Plo@am__quote@
545@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_gdi_buffer.Plo@am__quote@
546@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_gdi_main.Plo@am__quote@
547@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_outbuf.Plo@am__quote@
548@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_engine.Plo@am__quote@
549@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_gdi_buffer.Plo@am__quote@
550@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_gdi_main.Plo@am__quote@
551@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_outbuf.Plo@am__quote@
552
553.c.o:
554@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
555@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
556@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
557@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
558@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
559@am__fastdepCC_FALSE@ $(COMPILE) -c $<
560
561.c.obj:
562@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
563@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
564@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
565@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
566@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
567@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
568
569.c.lo:
570@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
571@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
572@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
573@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
574@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
575@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
576
577module_la-evas_engine.lo: evas_engine.c
578@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
579@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_engine.Tpo $(DEPDIR)/module_la-evas_engine.Plo
580@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
581@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_engine.c' object='module_la-evas_engine.lo' libtool=yes @AMDEPBACKSLASH@
582@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
583@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
584
585module_la-evas_outbuf.lo: evas_outbuf.c
586@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_outbuf.lo -MD -MP -MF $(DEPDIR)/module_la-evas_outbuf.Tpo -c -o module_la-evas_outbuf.lo `test -f 'evas_outbuf.c' || echo '$(srcdir)/'`evas_outbuf.c
587@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_outbuf.Tpo $(DEPDIR)/module_la-evas_outbuf.Plo
588@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
589@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_outbuf.c' object='module_la-evas_outbuf.lo' libtool=yes @AMDEPBACKSLASH@
590@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
591@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_outbuf.lo `test -f 'evas_outbuf.c' || echo '$(srcdir)/'`evas_outbuf.c
592
593module_la-evas_gdi_buffer.lo: evas_gdi_buffer.c
594@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_gdi_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_gdi_buffer.Tpo -c -o module_la-evas_gdi_buffer.lo `test -f 'evas_gdi_buffer.c' || echo '$(srcdir)/'`evas_gdi_buffer.c
595@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_gdi_buffer.Tpo $(DEPDIR)/module_la-evas_gdi_buffer.Plo
596@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
597@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_gdi_buffer.c' object='module_la-evas_gdi_buffer.lo' libtool=yes @AMDEPBACKSLASH@
598@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
599@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_gdi_buffer.lo `test -f 'evas_gdi_buffer.c' || echo '$(srcdir)/'`evas_gdi_buffer.c
600
601module_la-evas_gdi_main.lo: evas_gdi_main.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) $(AM_CFLAGS) $(CFLAGS) -MT module_la-evas_gdi_main.lo -MD -MP -MF $(DEPDIR)/module_la-evas_gdi_main.Tpo -c -o module_la-evas_gdi_main.lo `test -f 'evas_gdi_main.c' || echo '$(srcdir)/'`evas_gdi_main.c
603@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_gdi_main.Tpo $(DEPDIR)/module_la-evas_gdi_main.Plo
604@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
605@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_gdi_main.c' object='module_la-evas_gdi_main.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) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_gdi_main.lo `test -f 'evas_gdi_main.c' || echo '$(srcdir)/'`evas_gdi_main.c
608
609mostlyclean-libtool:
610 -rm -f *.lo
611
612clean-libtool:
613 -rm -rf .libs _libs
614install-includesHEADERS: $(includes_HEADERS)
615 @$(NORMAL_INSTALL)
616 test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
617 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
618 for p in $$list; do \
619 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
620 echo "$$d$$p"; \
621 done | $(am__base_list) | \
622 while read files; do \
623 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
624 $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
625 done
626
627uninstall-includesHEADERS:
628 @$(NORMAL_UNINSTALL)
629 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
630 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
631 test -n "$$files" || exit 0; \
632 echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
633 cd "$(DESTDIR)$(includesdir)" && rm -f $$files
634
635ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
636 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
637 unique=`for i in $$list; do \
638 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
639 done | \
640 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
641 END { if (nonempty) { for (i in files) print i; }; }'`; \
642 mkid -fID $$unique
643tags: TAGS
644
645TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
646 $(TAGS_FILES) $(LISP)
647 set x; \
648 here=`pwd`; \
649 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
650 unique=`for i in $$list; do \
651 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
652 done | \
653 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
654 END { if (nonempty) { for (i in files) print i; }; }'`; \
655 shift; \
656 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
657 test -n "$$unique" || unique=$$empty_fix; \
658 if test $$# -gt 0; then \
659 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
660 "$$@" $$unique; \
661 else \
662 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
663 $$unique; \
664 fi; \
665 fi
666ctags: CTAGS
667CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
668 $(TAGS_FILES) $(LISP)
669 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
670 unique=`for i in $$list; do \
671 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
672 done | \
673 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
674 END { if (nonempty) { for (i in files) print i; }; }'`; \
675 test -z "$(CTAGS_ARGS)$$unique" \
676 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
677 $$unique
678
679GTAGS:
680 here=`$(am__cd) $(top_builddir) && pwd` \
681 && $(am__cd) $(top_srcdir) \
682 && gtags -i $(GTAGS_ARGS) "$$here"
683
684distclean-tags:
685 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
686
687distdir: $(DISTFILES)
688 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
689 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
690 list='$(DISTFILES)'; \
691 dist_files=`for file in $$list; do echo $$file; done | \
692 sed -e "s|^$$srcdirstrip/||;t" \
693 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
694 case $$dist_files in \
695 */*) $(MKDIR_P) `echo "$$dist_files" | \
696 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
697 sort -u` ;; \
698 esac; \
699 for file in $$dist_files; do \
700 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
701 if test -d $$d/$$file; then \
702 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
703 if test -d "$(distdir)/$$file"; then \
704 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
705 fi; \
706 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
707 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
708 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
709 fi; \
710 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
711 else \
712 test -f "$(distdir)/$$file" \
713 || cp -p $$d/$$file "$(distdir)/$$file" \
714 || exit 1; \
715 fi; \
716 done
717check-am: all-am
718check: check-am
719all-am: Makefile $(LTLIBRARIES) $(HEADERS)
720installdirs:
721 for dir in "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includesdir)"; do \
722 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
723 done
724install: install-am
725install-exec: install-exec-am
726install-data: install-data-am
727uninstall: uninstall-am
728
729install-am: all-am
730 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
731
732installcheck: installcheck-am
733install-strip:
734 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
735 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
736 `test -z '$(STRIP)' || \
737 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
738mostlyclean-generic:
739
740clean-generic:
741
742distclean-generic:
743 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
744 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
745
746maintainer-clean-generic:
747 @echo "This command is intended for maintainers to use"
748 @echo "it deletes files that may require special tools to rebuild."
749 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
750clean: clean-am
751
752clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
753 clean-pkgLTLIBRARIES mostlyclean-am
754
755distclean: distclean-am
756 -rm -rf ./$(DEPDIR)
757 -rm -f Makefile
758distclean-am: clean-am distclean-compile distclean-generic \
759 distclean-tags
760
761dvi: dvi-am
762
763dvi-am:
764
765html: html-am
766
767html-am:
768
769info: info-am
770
771info-am:
772
773install-data-am: install-includesHEADERS install-pkgLTLIBRARIES
774
775install-dvi: install-dvi-am
776
777install-dvi-am:
778
779install-exec-am:
780
781install-html: install-html-am
782
783install-html-am:
784
785install-info: install-info-am
786
787install-info-am:
788
789install-man:
790
791install-pdf: install-pdf-am
792
793install-pdf-am:
794
795install-ps: install-ps-am
796
797install-ps-am:
798
799installcheck-am:
800
801maintainer-clean: maintainer-clean-am
802 -rm -rf ./$(DEPDIR)
803 -rm -f Makefile
804maintainer-clean-am: distclean-am maintainer-clean-generic
805
806mostlyclean: mostlyclean-am
807
808mostlyclean-am: mostlyclean-compile mostlyclean-generic \
809 mostlyclean-libtool
810
811pdf: pdf-am
812
813pdf-am:
814
815ps: ps-am
816
817ps-am:
818
819uninstall-am: uninstall-includesHEADERS uninstall-pkgLTLIBRARIES
820
821.MAKE: install-am install-strip
822
823.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
824 clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
825 ctags distclean distclean-compile distclean-generic \
826 distclean-libtool distclean-tags distdir dvi dvi-am html \
827 html-am info info-am install install-am install-data \
828 install-data-am install-dvi install-dvi-am install-exec \
829 install-exec-am install-html install-html-am \
830 install-includesHEADERS install-info install-info-am \
831 install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
832 install-ps install-ps-am install-strip installcheck \
833 installcheck-am installdirs maintainer-clean \
834 maintainer-clean-generic mostlyclean mostlyclean-compile \
835 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
836 tags uninstall uninstall-am uninstall-includesHEADERS \
837 uninstall-pkgLTLIBRARIES
838
839
840# Tell versions [3.59,3.63) of GNU make to not export all variables.
841# Otherwise a system limit (for SysV at least) may be exceeded.
842.NOEXPORT:
diff --git a/libraries/evas/src/modules/engines/software_gdi/evas_engine.c b/libraries/evas/src/modules/engines/software_gdi/evas_engine.c
deleted file mode 100644
index 414e880..0000000
--- a/libraries/evas/src/modules/engines/software_gdi/evas_engine.c
+++ /dev/null
@@ -1,387 +0,0 @@
1#include "evas_common.h"
2#include "evas_private.h"
3#include "evas_engine.h"
4#include "Evas_Engine_Software_Gdi.h"
5
6int _evas_engine_soft_gdi_log_dom = -1;
7/* function tables - filled in later (func and parent func) */
8static Evas_Func func, pfunc;
9
10/* engine struct data */
11typedef struct _Render_Engine Render_Engine;
12
13struct _Render_Engine
14{
15 Tilebuf *tb;
16 Outbuf *ob;
17 Tilebuf_Rect *rects;
18 Eina_Inlist *cur_rect;
19 int end : 1;
20};
21
22
23static void *
24_output_setup(int width,
25 int height,
26 int rot,
27 HWND window,
28 int depth,
29 unsigned int borderless,
30 unsigned int fullscreen,
31 unsigned int region)
32{
33 Render_Engine *re;
34
35 re = calloc(1, sizeof(Render_Engine));
36 if (!re)
37 return NULL;
38
39 /* if we haven't initialized - init (automatic abort if already done) */
40 evas_common_cpu_init();
41
42 evas_common_blend_init();
43 evas_common_image_init();
44 evas_common_convert_init();
45 evas_common_scale_init();
46 evas_common_rectangle_init();
47 evas_common_polygon_init();
48 evas_common_line_init();
49 evas_common_font_init();
50 evas_common_draw_init();
51 evas_common_tilebuf_init();
52
53 evas_software_gdi_outbuf_init();
54
55 if (width <= 0)
56 width = 1;
57 if (height <= 0)
58 height = 1;
59
60 re->ob = evas_software_gdi_outbuf_setup(width, height, rot,
61 OUTBUF_DEPTH_INHERIT,
62 window, depth, borderless, fullscreen, region,
63 0, 0);
64 if (!re->ob)
65 {
66 free(re);
67 return NULL;
68 }
69
70 /* for updates return 1 big buffer, but only use portions of it, also cache
71 it and keep it around until an idle_flush */
72 /* disable for now - i am hunting down why some expedite tests are slower,
73 * as well as shaped stuff is broken and probable non-32bpp is broken as
74 * convert funcs dont do the right thing
75 *
76 re->ob->onebuf = 1;
77 */
78
79 re->tb = evas_common_tilebuf_new(width, height);
80 if (!re->tb)
81 {
82 evas_software_gdi_outbuf_free(re->ob);
83 free(re);
84 return NULL;
85 }
86 /* in preliminary tests 16x16 gave highest framerates */
87 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
88
89 return re;
90}
91
92
93/* engine api this module provides */
94
95static void *
96eng_info(Evas *e __UNUSED__)
97{
98 Evas_Engine_Info_Software_Gdi *info;
99 info = calloc(1, sizeof(Evas_Engine_Info_Software_Gdi));
100 if (!info) return NULL;
101 info->magic.magic = rand();
102 return info;
103}
104
105static void
106eng_info_free(Evas *e __UNUSED__, void *info)
107{
108 Evas_Engine_Info_Software_Gdi *in;
109 in = (Evas_Engine_Info_Software_Gdi *)info;
110 free(in);
111}
112
113static int
114eng_setup(Evas *e, void *in)
115{
116 Render_Engine *re;
117 Evas_Engine_Info_Software_Gdi *info;
118
119 info = (Evas_Engine_Info_Software_Gdi *)in;
120 if (!e->engine.data.output)
121 e->engine.data.output = _output_setup(e->output.w,
122 e->output.h,
123 info->info.rotation,
124 info->info.window,
125 info->info.depth,
126 info->info.borderless,
127 info->info.fullscreen,
128 info->info.region);
129 else
130 {
131 int ponebuf = 0;
132
133 re = e->engine.data.output;
134 ponebuf = re->ob->onebuf;
135 evas_software_gdi_outbuf_free(re->ob);
136 re->ob = evas_software_gdi_outbuf_setup(e->output.w,
137 e->output.h,
138 info->info.rotation,
139 OUTBUF_DEPTH_INHERIT,
140 info->info.window,
141 info->info.depth,
142 info->info.borderless,
143 info->info.fullscreen,
144 info->info.region,
145 0, 0);
146 re->ob->onebuf = ponebuf;
147 }
148 if (!e->engine.data.output) return 0;
149 if (!e->engine.data.context)
150 e->engine.data.context = e->engine.func->context_new(e->engine.data.output);
151
152 re = e->engine.data.output;
153
154 return 1;
155}
156
157static void
158eng_output_free(void *data)
159{
160 Render_Engine *re;
161
162 if (!data) return;
163
164 re = (Render_Engine *)data;
165 evas_software_gdi_outbuf_free(re->ob);
166 evas_common_tilebuf_free(re->tb);
167 if (re->rects) evas_common_tilebuf_free_render_rects(re->rects);
168 free(re);
169
170 evas_common_font_shutdown();
171 evas_common_image_shutdown();
172}
173
174static void
175eng_output_resize(void *data, int width, int height)
176{
177 Render_Engine *re;
178
179 re = (Render_Engine *)data;
180 evas_software_gdi_outbuf_reconfigure(re->ob,
181 width,
182 height,
183 evas_software_gdi_outbuf_rot_get(re->ob),
184 OUTBUF_DEPTH_INHERIT);
185 evas_common_tilebuf_free(re->tb);
186 re->tb = evas_common_tilebuf_new(width, height);
187 if (re->tb)
188 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
189}
190
191static void
192eng_output_tile_size_set(void *data, int w, int h)
193{
194 Render_Engine *re;
195
196 re = (Render_Engine *)data;
197 evas_common_tilebuf_set_tile_size(re->tb, w, h);
198}
199
200static void
201eng_output_redraws_rect_add(void *data, int x, int y, int w, int h)
202{
203 Render_Engine *re;
204
205 re = (Render_Engine *)data;
206 evas_common_tilebuf_add_redraw(re->tb, x, y, w, h);
207}
208
209static void
210eng_output_redraws_rect_del(void *data, int x, int y, int w, int h)
211{
212 Render_Engine *re;
213
214 re = (Render_Engine *)data;
215 evas_common_tilebuf_del_redraw(re->tb, x, y, w, h);
216}
217
218static void
219eng_output_redraws_clear(void *data)
220{
221 Render_Engine *re;
222
223 re = (Render_Engine *)data;
224 evas_common_tilebuf_clear(re->tb);
225}
226
227static void *
228eng_output_redraws_next_update_get(void *data,
229 int *x,
230 int *y,
231 int *w,
232 int *h,
233 int *cx,
234 int *cy,
235 int *cw,
236 int *ch)
237{
238 Render_Engine *re;
239 RGBA_Image *surface;
240 Tilebuf_Rect *rect;
241 int ux;
242 int uy;
243 int uw;
244 int uh;
245
246 re = (Render_Engine *)data;
247 if (re->end)
248 {
249 re->end = 0;
250 return NULL;
251 }
252 if (!re->rects)
253 {
254 re->rects = evas_common_tilebuf_get_render_rects(re->tb);
255 re->cur_rect = EINA_INLIST_GET(re->rects);
256 }
257 if (!re->cur_rect) return NULL;
258 rect = (Tilebuf_Rect *)re->cur_rect;
259 ux = rect->x;
260 uy = rect->y;
261 uw = rect->w;
262 uh = rect->h;
263 re->cur_rect = re->cur_rect->next;
264 if (!re->cur_rect)
265 {
266 evas_common_tilebuf_free_render_rects(re->rects);
267 re->rects = NULL;
268 re->end = 1;
269 }
270
271 surface = evas_software_gdi_outbuf_new_region_for_update(re->ob,
272 ux,
273 uy,
274 uw,
275 uh,
276 cx,
277 cy,
278 cw,
279 ch);
280
281 *x = ux;
282 *y = uy;
283 *w = uw;
284 *h = uh;
285
286 return surface;
287}
288
289static void
290eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h)
291{
292 Render_Engine *re;
293
294 re = (Render_Engine *)data;
295#ifdef BUILD_PIPE_RENDER
296 evas_common_pipe_map_begin(surface);
297#endif
298 evas_software_gdi_outbuf_push_updated_region(re->ob, surface, x, y, w, h);
299 evas_software_gdi_outbuf_free_region_for_update(re->ob, surface);
300 evas_common_cpu_end_opt();
301}
302
303static void
304eng_output_flush(void *data)
305{
306 Render_Engine *re;
307
308 re = (Render_Engine *)data;
309 evas_software_gdi_outbuf_flush(re->ob);
310}
311
312static void
313eng_output_idle_flush(void *data)
314{
315 Render_Engine *re;
316
317 re = (Render_Engine *)data;
318 evas_software_gdi_outbuf_idle_flush(re->ob);
319}
320
321static Eina_Bool
322eng_canvas_alpha_get(void *data, void *context)
323{
324 return EINA_FALSE;
325}
326
327/* module advertising code */
328static int
329module_open(Evas_Module *em)
330{
331 if (!em) return 0;
332 /* get whatever engine module we inherit from */
333 if (!_evas_module_engine_inherit(&pfunc, "software_generic")) return 0;
334
335 _evas_engine_soft_gdi_log_dom = eina_log_domain_register
336 ("evas-software_gdi", EVAS_DEFAULT_LOG_COLOR);
337 if (_evas_engine_soft_gdi_log_dom < 0)
338 {
339 EINA_LOG_ERR("Can not create a module log domain.");
340 return 0;
341 }
342 /* store it for later use */
343 func = pfunc;
344 /* now to override methods */
345#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
346 ORD(info);
347 ORD(info_free);
348 ORD(setup);
349 ORD(canvas_alpha_get);
350 ORD(output_free);
351 ORD(output_resize);
352 ORD(output_tile_size_set);
353 ORD(output_redraws_rect_add);
354 ORD(output_redraws_rect_del);
355 ORD(output_redraws_clear);
356 ORD(output_redraws_next_update_get);
357 ORD(output_redraws_next_update_push);
358 ORD(output_flush);
359 ORD(output_idle_flush);
360 /* now advertise out own api */
361 em->functions = (void *)(&func);
362 return 1;
363}
364
365static void
366module_close(Evas_Module *em)
367{
368 eina_log_domain_unregister(_evas_engine_soft_gdi_log_dom);
369 _evas_engine_soft_gdi_log_dom = -1;
370}
371
372static Evas_Module_Api evas_modapi =
373{
374 EVAS_MODULE_API_VERSION,
375 "software_gdi",
376 "none",
377 {
378 module_open,
379 module_close
380 }
381};
382
383EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_gdi);
384
385#ifndef EVAS_STATIC_BUILD_SOFTWARE_GDI
386EVAS_EINA_MODULE_DEFINE(engine, software_gdi);
387#endif
diff --git a/libraries/evas/src/modules/engines/software_gdi/evas_engine.h b/libraries/evas/src/modules/engines/software_gdi/evas_engine.h
deleted file mode 100644
index b8ddc85..0000000
--- a/libraries/evas/src/modules/engines/software_gdi/evas_engine.h
+++ /dev/null
@@ -1,209 +0,0 @@
1#ifndef EVAS_ENGINE_H
2#define EVAS_ENGINE_H
3
4
5#define WIN32_LEAN_AND_MEAN
6#include <windows.h>
7#undef WIN32_LEAN_AND_MEAN
8
9extern int _evas_engine_soft_gdi_log_dom;
10
11#ifdef ERR
12# undef ERR
13#endif
14#define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_soft_gdi_log_dom, __VA_ARGS__)
15
16#ifdef DBG
17# undef DBG
18#endif
19#define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_soft_gdi_log_dom, __VA_ARGS__)
20
21#ifdef INF
22# undef INF
23#endif
24#define INF(...) EINA_LOG_DOM_INFO(_evas_engine_soft_gdi_log_dom, __VA_ARGS__)
25
26#ifdef WRN
27# undef WRN
28#endif
29#define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_soft_gdi_log_dom, __VA_ARGS__)
30
31#ifdef CRIT
32# undef CRIT
33#endif
34#define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_soft_gdi_log_dom, __VA_ARGS__)
35
36typedef enum _Outbuf_Depth Outbuf_Depth;
37
38enum _Outbuf_Depth
39{
40 OUTBUF_DEPTH_NONE,
41 OUTBUF_DEPTH_INHERIT,
42 OUTBUF_DEPTH_RGB_16BPP_565_565_DITHERED,
43 OUTBUF_DEPTH_RGB_32BPP_888_8888,
44 OUTBUF_DEPTH_LAST
45};
46
47typedef struct BITMAPINFO_GDI BITMAPINFO_GDI;
48typedef struct _Outbuf Outbuf;
49typedef struct _Outbuf_Region Outbuf_Region;
50typedef struct _Gdi_Output_Buffer Gdi_Output_Buffer;
51
52struct BITMAPINFO_GDI
53{
54 BITMAPINFOHEADER bih;
55 DWORD masks[3];
56};
57
58struct _Outbuf
59{
60 Outbuf_Depth depth;
61 int width;
62 int height;
63 int rot;
64 int onebuf;
65
66 struct {
67 Convert_Pal *pal;
68 struct {
69 BITMAPINFO_GDI *bitmap_info;
70 HWND window;
71 HDC dc;
72 HRGN regions;
73 int depth;
74 unsigned char borderless : 1;
75 unsigned char fullscreen : 1;
76 unsigned char region : 1;
77 } gdi;
78
79 /* 1 big buffer for updates - flush on idle_flush */
80 RGBA_Image *onebuf;
81 Eina_List *onebuf_regions;
82
83 /* a list of pending regions to write to the target */
84 Eina_List *pending_writes;
85 /* a list of previous frame pending regions to write to the target */
86 Eina_List *prev_pending_writes;
87
88 unsigned char mask_dither : 1;
89 unsigned char destination_alpha : 1;
90 unsigned char debug : 1;
91 unsigned char synced : 1;
92
93 unsigned char region_built : 1;
94 } priv;
95};
96
97struct _Outbuf_Region
98{
99 Gdi_Output_Buffer *gdiob;
100 int x;
101 int y;
102 int width;
103 int height;
104};
105
106struct _Gdi_Output_Buffer
107{
108 BITMAPINFO_GDI *bitmap_info;
109 HBITMAP bitmap;
110 HDC dc;
111 int width;
112 int height;
113 void *data;
114 int depth;
115 int pitch;
116 int psize;
117};
118
119/* evas_gdi_main.c */
120
121int evas_software_gdi_init (HWND window,
122 int depth,
123 unsigned int borderless,
124 unsigned int fullscreen,
125 unsigned int region,
126 Outbuf *buf);
127
128void evas_software_gdi_shutdown(Outbuf *buf);
129
130void evas_software_gdi_bitmap_resize(Outbuf *buf);
131
132/* evas_gdi_buffer.c */
133
134Gdi_Output_Buffer *evas_software_gdi_output_buffer_new(HDC dc,
135 BITMAPINFO_GDI *bitmap_info,
136 int depth,
137 int width,
138 int height,
139 void *data);
140
141void evas_software_gdi_output_buffer_free(Gdi_Output_Buffer *gdiob);
142
143void evas_software_gdi_output_buffer_paste(Gdi_Output_Buffer *gdiob,
144 int x,
145 int y);
146
147DATA8 *evas_software_gdi_output_buffer_data(Gdi_Output_Buffer *gdiob,
148 int *pitch);
149
150int evas_software_gdi_output_buffer_depth(Gdi_Output_Buffer *gdiob);
151
152/* evas_outbuf.c */
153
154void evas_software_gdi_outbuf_init(void);
155
156void evas_software_gdi_outbuf_free(Outbuf *buf);
157
158Outbuf *evas_software_gdi_outbuf_setup(int width,
159 int height,
160 int rotation,
161 Outbuf_Depth depth,
162 HWND window,
163 int w_depth,
164 unsigned int borderless,
165 unsigned int fullscreen,
166 unsigned int region,
167 int mask_dither,
168 int destination_alpha);
169
170void evas_software_gdi_outbuf_reconfigure(Outbuf *buf,
171 int width,
172 int height,
173 int rotation,
174 Outbuf_Depth depth);
175
176RGBA_Image *evas_software_gdi_outbuf_new_region_for_update(Outbuf *buf,
177 int x,
178 int y,
179 int w,
180 int h,
181 int *cx,
182 int *cy,
183 int *cw,
184 int *ch);
185
186void evas_software_gdi_outbuf_push_updated_region(Outbuf *buf,
187 RGBA_Image *update,
188 int x,
189 int y,
190 int w,
191 int h);
192
193void evas_software_gdi_outbuf_free_region_for_update(Outbuf *buf,
194 RGBA_Image *update);
195
196void evas_software_gdi_outbuf_flush(Outbuf *buf);
197
198void evas_software_gdi_outbuf_idle_flush(Outbuf *buf);
199
200int evas_software_gdi_outbuf_width_get(Outbuf *buf);
201
202int evas_software_gdi_outbuf_height_get(Outbuf *buf);
203
204Outbuf_Depth evas_software_gdi_outbuf_depth_get(Outbuf *buf);
205
206int evas_software_gdi_outbuf_rot_get(Outbuf *buf);
207
208
209#endif /* EVAS_ENGINE_H */
diff --git a/libraries/evas/src/modules/engines/software_gdi/evas_gdi_buffer.c b/libraries/evas/src/modules/engines/software_gdi/evas_gdi_buffer.c
deleted file mode 100644
index 66a5abf..0000000
--- a/libraries/evas/src/modules/engines/software_gdi/evas_gdi_buffer.c
+++ /dev/null
@@ -1,88 +0,0 @@
1#include <string.h>
2
3#include "evas_common.h"
4#include "evas_engine.h"
5
6Gdi_Output_Buffer *
7evas_software_gdi_output_buffer_new(HDC dc,
8 BITMAPINFO_GDI *bitmap_info,
9 int depth,
10 int width,
11 int height,
12 void *data)
13{
14 Gdi_Output_Buffer *gdiob;
15
16 gdiob = calloc(1, sizeof(Gdi_Output_Buffer));
17 if (!gdiob) return NULL;
18
19 if (!data)
20 {
21 bitmap_info->bih.biWidth = width;
22 bitmap_info->bih.biHeight = -height;
23 bitmap_info->bih.biSizeImage = (depth >> 3) * width * height;
24 gdiob->bitmap = CreateDIBSection(dc,
25 (const BITMAPINFO *)bitmap_info,
26 DIB_RGB_COLORS,
27 (void **)(&data),
28 NULL,
29 0);
30 if (!gdiob->bitmap)
31 {
32 free(gdiob);
33 return NULL;
34 }
35 }
36
37 gdiob->bitmap_info = bitmap_info;
38 gdiob->dc = dc;
39 gdiob->data = data;
40 gdiob->width = width;
41 gdiob->height = height;
42 gdiob->depth = depth;
43 gdiob->pitch = width * (depth >> 3);
44/* gdiob->psize = gdiob->pitch * height; */
45
46 return gdiob;
47}
48
49void
50evas_software_gdi_output_buffer_free(Gdi_Output_Buffer *gdiob)
51{
52 DeleteObject(gdiob->bitmap);
53 free(gdiob);
54}
55
56void
57evas_software_gdi_output_buffer_paste(Gdi_Output_Buffer *gdiob,
58 int x,
59 int y)
60{
61 HDC dc;
62
63 dc = CreateCompatibleDC(gdiob->dc);
64 if (!dc)
65 return;
66 SelectObject(dc, gdiob->bitmap);
67 BitBlt(gdiob->dc,
68 x, y,
69 gdiob->width, gdiob->height,
70 dc,
71 0, 0,
72 SRCCOPY);
73 DeleteDC(dc);
74}
75
76DATA8 *
77evas_software_gdi_output_buffer_data(Gdi_Output_Buffer *gdiob,
78 int *pitch)
79{
80 if (pitch) *pitch = gdiob->pitch;
81 return gdiob->data;
82}
83
84int
85evas_software_gdi_output_buffer_depth(Gdi_Output_Buffer *gdiob)
86{
87 return gdiob->depth;
88}
diff --git a/libraries/evas/src/modules/engines/software_gdi/evas_gdi_main.c b/libraries/evas/src/modules/engines/software_gdi/evas_gdi_main.c
deleted file mode 100644
index 4a63959..0000000
--- a/libraries/evas/src/modules/engines/software_gdi/evas_gdi_main.c
+++ /dev/null
@@ -1,100 +0,0 @@
1#include "evas_common.h"
2#include "evas_engine.h"
3
4
5int
6evas_software_gdi_init (HWND window,
7 int depth,
8 unsigned int borderless,
9 unsigned int fullscreen __UNUSED__,
10 unsigned int region,
11 Outbuf *buf)
12{
13 if (!window)
14 {
15 ERR("[Engine] [GDI] Window is NULL");
16 return 0;
17 }
18
19 buf->priv.gdi.window = window;
20 buf->priv.gdi.dc = GetDC(window);
21 buf->priv.gdi.borderless = borderless;
22 buf->priv.gdi.region = region;
23 if (!buf->priv.gdi.dc)
24 {
25 ERR("[Engine] [GDI] Can not get DC");
26 return 0;
27 }
28
29 /* FIXME: check depth */
30 if (depth != GetDeviceCaps(buf->priv.gdi.dc, BITSPIXEL))
31 {
32 ERR("[Engine] [GDI] no compatible depth");
33 ReleaseDC(window, buf->priv.gdi.dc);
34 return 0;
35 }
36 buf->priv.gdi.depth = depth;
37
38 /* FIXME: support fullscreen */
39
40 buf->priv.gdi.bitmap_info = (BITMAPINFO_GDI *)malloc(sizeof(BITMAPINFO_GDI));
41 if (!buf->priv.gdi.bitmap_info)
42 {
43 ERR("[Engine] [GDI] Can not allocate bitmap info");
44 ReleaseDC(window, buf->priv.gdi.dc);
45 return 0;
46 }
47
48 buf->priv.gdi.bitmap_info->bih.biSize = sizeof(BITMAPINFOHEADER);
49 buf->priv.gdi.bitmap_info->bih.biWidth = buf->width;
50 buf->priv.gdi.bitmap_info->bih.biHeight = -buf->height;
51 buf->priv.gdi.bitmap_info->bih.biPlanes = 1;
52 buf->priv.gdi.bitmap_info->bih.biSizeImage = (buf->priv.gdi.depth >> 3) * buf->width * buf->height;
53 buf->priv.gdi.bitmap_info->bih.biXPelsPerMeter = 0;
54 buf->priv.gdi.bitmap_info->bih.biYPelsPerMeter = 0;
55 buf->priv.gdi.bitmap_info->bih.biClrUsed = 0;
56 buf->priv.gdi.bitmap_info->bih.biClrImportant = 0;
57 buf->priv.gdi.bitmap_info->bih.biBitCount = buf->priv.gdi.depth;
58 buf->priv.gdi.bitmap_info->bih.biCompression = BI_BITFIELDS;
59
60 switch (depth)
61 {
62 case 16:
63 buf->priv.gdi.bitmap_info->masks[0] = 0x0000f800;
64 buf->priv.gdi.bitmap_info->masks[1] = 0x000007e0;
65 buf->priv.gdi.bitmap_info->masks[2] = 0x0000001f;
66 break;
67 case 32:
68 buf->priv.gdi.bitmap_info->masks[0] = 0x00ff0000;
69 buf->priv.gdi.bitmap_info->masks[1] = 0x0000ff00;
70 buf->priv.gdi.bitmap_info->masks[2] = 0x000000ff;
71 break;
72 default:
73 ERR("[Engine] [GDI] wrong depth");
74 free(buf->priv.gdi.bitmap_info);
75 ReleaseDC(window, buf->priv.gdi.dc);
76 return 0;
77 }
78
79 return 1;
80}
81
82void
83evas_software_gdi_shutdown(Outbuf *buf)
84{
85 if (!buf)
86 return;
87
88 free(buf->priv.gdi.bitmap_info);
89 ReleaseDC(buf->priv.gdi.window, buf->priv.gdi.dc);
90 if (buf->priv.gdi.regions)
91 DeleteObject(buf->priv.gdi.regions);
92}
93
94void
95evas_software_gdi_bitmap_resize(Outbuf *buf)
96{
97 buf->priv.gdi.bitmap_info->bih.biWidth = buf->width;
98 buf->priv.gdi.bitmap_info->bih.biHeight = -buf->height;
99 buf->priv.gdi.bitmap_info->bih.biSizeImage = (buf->priv.gdi.depth >> 3) * buf->width * buf->height;
100}
diff --git a/libraries/evas/src/modules/engines/software_gdi/evas_outbuf.c b/libraries/evas/src/modules/engines/software_gdi/evas_outbuf.c
deleted file mode 100644
index 6841baa..0000000
--- a/libraries/evas/src/modules/engines/software_gdi/evas_outbuf.c
+++ /dev/null
@@ -1,656 +0,0 @@
1#include "evas_common.h"
2#include "evas_engine.h"
3
4
5static Eina_List *gdipool = NULL;
6static int gdisize = 0;
7static int gdimemlimit = 10 * 1024 * 1024;
8static int gdicountlimit = 32;
9
10static Gdi_Output_Buffer *
11_find_gdiob(HDC dc, BITMAPINFO_GDI *bitmap_info, int depth, int w, int h, void *data)
12{
13 Eina_List *l = NULL;
14 Eina_List *gdil = NULL;
15 Gdi_Output_Buffer *gdiob = NULL;
16 Gdi_Output_Buffer *gdiob2;
17 int sz;
18 int lbytes;
19 int bpp;
20 int fitness = 0x7fffffff;
21
22 bpp = depth >> 3;
23 if (bpp == 3) bpp = 4;
24 lbytes = (((w * bpp) + 3) / 4) * 4;
25 sz = lbytes * h;
26 EINA_LIST_FOREACH(gdipool, l, gdiob2)
27 {
28 int szdif;
29
30 if ((gdiob2->dc != dc) ||
31 (gdiob2->bitmap_info != bitmap_info) ||
32 (gdiob2->depth != depth))
33 continue;
34 szdif = gdiob2->psize - sz;
35 if (szdif < 0) continue;
36 if (szdif == 0)
37 {
38 gdiob = gdiob2;
39 gdil = l;
40 goto have_gdiob;
41 }
42 if (szdif < fitness)
43 {
44 fitness = szdif;
45 gdiob = gdiob2;
46 gdil = l;
47 }
48 }
49 if ((fitness > (100 * 100)) || (!gdiob))
50 return evas_software_gdi_output_buffer_new(dc, bitmap_info, depth, w, h, data);
51
52 have_gdiob:
53 gdipool = eina_list_remove_list(gdipool, gdil);
54 gdiob->width = w;
55 gdiob->height = h;
56 gdiob->pitch = lbytes;
57 gdisize -= gdiob->psize * (gdiob->depth >> 3);
58
59 return gdiob;
60}
61
62static void
63_unfind_gdiob(Gdi_Output_Buffer *gdiob)
64{
65 gdipool = eina_list_prepend(gdipool, gdiob);
66 gdisize += gdiob->psize * (gdiob->depth >> 3);
67 while ((gdisize > (gdimemlimit)) ||
68 (eina_list_count(gdipool) > gdicountlimit))
69 {
70 Eina_List *xl;
71
72 xl = eina_list_last(gdipool);
73 if (!xl)
74 {
75 gdisize = 0;
76 break;
77 }
78 gdiob = xl->data;
79 gdipool = eina_list_remove_list(gdipool, xl);
80 evas_software_gdi_output_buffer_free(gdiob);
81 }
82}
83
84static void
85_clear_gdiob()
86{
87 while (gdipool)
88 {
89 Gdi_Output_Buffer *gdiob;
90
91 gdiob = gdipool->data;
92 gdipool = eina_list_remove_list(gdipool, gdipool);
93 evas_software_gdi_output_buffer_free(gdiob);
94 }
95 gdisize = 0;
96}
97
98void
99evas_software_gdi_outbuf_init(void)
100{
101}
102
103void
104evas_software_gdi_outbuf_free(Outbuf *buf)
105{
106 if (!buf)
107 return;
108
109 while (buf->priv.pending_writes)
110 {
111 RGBA_Image *im;
112 Outbuf_Region *obr;
113
114 im = buf->priv.pending_writes->data;
115 buf->priv.pending_writes = eina_list_remove_list(buf->priv.pending_writes, buf->priv.pending_writes);
116 obr = im->extended_info;
117 evas_cache_image_drop(&im->cache_entry);
118 if (obr->gdiob) _unfind_gdiob(obr->gdiob);
119/* if (obr->mxob) _unfind_xob(obr->mxob, 0); */
120 free(obr);
121 }
122 evas_software_gdi_outbuf_idle_flush(buf);
123 evas_software_gdi_outbuf_flush(buf);
124
125 evas_software_gdi_shutdown(buf);
126 free(buf);
127}
128
129Outbuf *
130evas_software_gdi_outbuf_setup(int width,
131 int height,
132 int rotation,
133 Outbuf_Depth depth,
134 HWND window,
135 int w_depth,
136 unsigned int borderless,
137 unsigned int fullscreen,
138 unsigned int region,
139 int mask_dither,
140 int destination_alpha)
141{
142 Outbuf *buf;
143
144 buf = (Outbuf *)calloc(1, sizeof(Outbuf));
145 if (!buf)
146 return NULL;
147
148 buf->width = width;
149 buf->height = height;
150 buf->depth = depth;
151 buf->rot = rotation;
152
153 buf->priv.mask_dither = mask_dither;
154 buf->priv.destination_alpha = destination_alpha;
155
156 if (!evas_software_gdi_init(window, w_depth, borderless, fullscreen, region, buf))
157 {
158 free(buf);
159 return NULL;
160 }
161
162 {
163 Gfx_Func_Convert conv_func;
164 Gdi_Output_Buffer *gdiob;
165
166 gdiob = evas_software_gdi_output_buffer_new(buf->priv.gdi.dc, buf->priv.gdi.bitmap_info, w_depth, 1, 1, NULL);
167
168 conv_func = NULL;
169 if (gdiob)
170 {
171 if ((rotation == 0) || (rotation == 180))
172 conv_func = evas_common_convert_func_get(0,
173 width,
174 height,
175 evas_software_gdi_output_buffer_depth (gdiob),
176 buf->priv.gdi.bitmap_info->masks[0],
177 buf->priv.gdi.bitmap_info->masks[1],
178 buf->priv.gdi.bitmap_info->masks[2],
179 PAL_MODE_NONE,
180 rotation);
181 else if ((rotation == 90) || (rotation == 270))
182 conv_func = evas_common_convert_func_get(0,
183 height,
184 width,
185 evas_software_gdi_output_buffer_depth (gdiob),
186 buf->priv.gdi.bitmap_info->masks[0],
187 buf->priv.gdi.bitmap_info->masks[1],
188 buf->priv.gdi.bitmap_info->masks[2],
189 PAL_MODE_NONE,
190 rotation);
191
192 evas_software_gdi_output_buffer_free(gdiob);
193
194 if (!conv_func)
195 {
196 ERR(".[ soft_gdi engine Error ]."
197 " {"
198 " At depth %i:"
199 " RGB format mask: %08lx, %08lx, %08lx"
200 " Not supported by and compiled in converters!"
201 " }",
202 buf->priv.gdi.depth,
203 buf->priv.gdi.bitmap_info->masks[0],
204 buf->priv.gdi.bitmap_info->masks[1],
205 buf->priv.gdi.bitmap_info->masks[2]);
206 }
207 }
208 }
209
210 return buf;
211}
212
213void
214evas_software_gdi_outbuf_reconfigure(Outbuf *buf,
215 int width,
216 int height,
217 int rotation,
218 Outbuf_Depth depth)
219{
220 if ((width == buf->width) && (height == buf->height) &&
221 (rotation == buf->rot) && (depth == buf->depth))
222 return;
223 buf->width = width;
224 buf->height = height;
225 buf->rot = rotation;
226 evas_software_gdi_bitmap_resize(buf);
227 buf->priv.region_built = 0;
228}
229
230RGBA_Image *
231evas_software_gdi_outbuf_new_region_for_update(Outbuf *buf,
232 int x,
233 int y,
234 int w,
235 int h,
236 int *cx,
237 int *cy,
238 int *cw,
239 int *ch)
240{
241 RGBA_Image *im;
242 Outbuf_Region *obr;
243 int bpl = 0;
244 int alpha = 0;
245
246 obr = calloc(1, sizeof(Outbuf_Region));
247 obr->x = x;
248 obr->y = y;
249 obr->width = w;
250 obr->height = h;
251 *cx = 0;
252 *cy = 0;
253 *cw = w;
254 *ch = h;
255
256 alpha = ((buf->priv.gdi.region) || (buf->priv.destination_alpha));
257
258 if ((buf->rot == 0) &&
259 (buf->priv.gdi.bitmap_info->masks[0] == 0xff0000) &&
260 (buf->priv.gdi.bitmap_info->masks[1] == 0x00ff00) &&
261 (buf->priv.gdi.bitmap_info->masks[2] == 0x0000ff))
262 {
263 obr->gdiob = _find_gdiob(buf->priv.gdi.dc,
264 buf->priv.gdi.bitmap_info,
265 buf->priv.gdi.depth,
266 w, h, NULL);
267/* obr->gdiob = evas_software_gdi_output_buffer_new(buf->priv.gdi.dc, */
268/* buf->priv.gdi.bitmap_info, */
269/* buf->priv.gdi.depth, */
270/* w, h, */
271/* NULL); */
272 im = (RGBA_Image *)evas_cache_image_data(evas_common_image_cache_get(),
273 w, h,
274 (DATA32 *)evas_software_gdi_output_buffer_data(obr->gdiob, &bpl),
275 alpha, EVAS_COLORSPACE_ARGB8888);
276 im->extended_info = obr;
277/* if (buf->priv.gdi.mask) */
278/* obr->mgdiob = _find_gdiob(buf->priv.gdi.dc, */
279/* buf->priv.gdi.bitmap_info, */
280/* 1, */
281/* w, h, NULL); */
282 }
283 else
284 {
285 im = (RGBA_Image *) evas_cache_image_empty(evas_common_image_cache_get());
286 im->cache_entry.flags.alpha |= alpha ? 1 : 0;
287 evas_cache_image_surface_alloc(&im->cache_entry, w, h);
288 im->extended_info = obr;
289 if ((buf->rot == 0) || (buf->rot == 180))
290 obr->gdiob = _find_gdiob(buf->priv.gdi.dc,
291 buf->priv.gdi.bitmap_info,
292 buf->priv.gdi.depth,
293 w, h, NULL);
294/*
295 obr->gdiob = evas_software_x11_x_output_buffer_new(buf->priv.dd.disp,
296 buf->priv.dd.vis,
297 buf->priv.dd.depth,
298 w, h,
299 use_shm,
300 NULL);
301 */
302 else if ((buf->rot == 90) || (buf->rot == 270))
303 obr->gdiob = _find_gdiob(buf->priv.gdi.dc,
304 buf->priv.gdi.bitmap_info,
305 buf->priv.gdi.depth,
306 h, w, NULL);
307/*
308 obr->gdiob = evas_software_x11_x_output_buffer_new(buf->priv.dd.disp,
309 buf->priv.dd.vis,
310 buf->priv.dd.depth,
311 h, w,
312 use_shm,
313 NULL);
314 */
315/* if (buf->priv.gdi.mask) */
316/* obr->mgdiob = _find_gdiob(buf->priv.gdi.dc, */
317/* buf->priv.gdi.bitmap_info, */
318/* 1, */
319/* w, h, NULL); */
320 }
321 if ((buf->priv.gdi.region) || (buf->priv.destination_alpha))
322 /* FIXME: faster memset! */
323 memset(im->image.data, 0, w * h * sizeof(DATA32));
324
325 buf->priv.pending_writes = eina_list_append(buf->priv.pending_writes, im);
326 return im;
327}
328
329void
330evas_software_gdi_outbuf_push_updated_region(Outbuf *buf,
331 RGBA_Image *update,
332 int x,
333 int y,
334 int w,
335 int h)
336{
337 HRGN regions = NULL;
338 Gfx_Func_Convert conv_func;
339 Outbuf_Region *obr;
340 DATA32 *src_data;
341 void *data;
342 int bpl = 0;
343
344 conv_func = NULL;
345 obr = update->extended_info;
346
347 if ((buf->rot == 0) || (buf->rot == 180))
348 conv_func = evas_common_convert_func_get(0, w, h,
349 evas_software_gdi_output_buffer_depth(obr->gdiob),
350 buf->priv.gdi.bitmap_info->masks[0],
351 buf->priv.gdi.bitmap_info->masks[1],
352 buf->priv.gdi.bitmap_info->masks[2],
353 PAL_MODE_NONE,
354 buf->rot);
355 else if ((buf->rot == 90) || (buf->rot == 270))
356 conv_func = evas_common_convert_func_get(0, h, w,
357 evas_software_gdi_output_buffer_depth(obr->gdiob),
358 buf->priv.gdi.bitmap_info->masks[0],
359 buf->priv.gdi.bitmap_info->masks[1],
360 buf->priv.gdi.bitmap_info->masks[2],
361 PAL_MODE_NONE,
362 buf->rot);
363 if (!conv_func) return;
364
365 data = evas_software_gdi_output_buffer_data(obr->gdiob, &bpl);
366 src_data = update->image.data;
367 if (buf->rot == 0)
368 {
369 obr->x = x;
370 obr->y = y;
371 }
372 else if (buf->rot == 90)
373 {
374 obr->x = y;
375 obr->y = buf->width - x - w;
376 }
377 else if (buf->rot == 180)
378 {
379 obr->x = buf->width - x - w;
380 obr->y = buf->height - y - h;
381 }
382 else if (buf->rot == 270)
383 {
384 obr->x = buf->height - y - h;
385 obr->y = x;
386 }
387 if ((buf->rot == 0) || (buf->rot == 180))
388 {
389 obr->width = w;
390 obr->height = h;
391 }
392 else if ((buf->rot == 90) || (buf->rot == 270))
393 {
394 obr->width = h;
395 obr->height = w;
396 }
397
398 if (data != src_data)
399 conv_func(src_data, data,
400 0,
401 bpl / (evas_software_gdi_output_buffer_depth(obr->gdiob) >> 3) - obr->width,
402 obr->width,
403 obr->height,
404 x,
405 y,
406 NULL);
407
408 /* Region code */
409 if (!buf->priv.gdi.region)
410 {
411 if (buf->priv.gdi.regions)
412 DeleteObject(buf->priv.gdi.regions);
413 buf->priv.gdi.regions = NULL;
414 SetWindowRgn(buf->priv.gdi.window, NULL, 1);
415 return;
416 }
417
418 if (!buf->priv.region_built)
419 {
420 RECT rect;
421 POINT pt = { 0, 0 };
422 HRGN region;
423 int *tmp;
424 int i;
425 int j;
426 int ww;
427 int wh;
428 int dx;
429 int dy;
430 int xmin;
431 int xmax;
432
433 if (!GetClientRect(buf->priv.gdi.window, &rect))
434 return;
435
436 ww = rect.right - rect.left;
437 wh = rect.bottom - rect.top;
438
439 if (!GetWindowRect(buf->priv.gdi.window, &rect))
440 return;
441 if (!ClientToScreen(buf->priv.gdi.window, &pt))
442 return;
443 dx = x + pt.x - rect.left;
444 dy = y + pt.y - rect.top;
445
446 tmp = src_data;
447
448 for (j = 0; j < h; j++)
449 {
450 i = 0;
451 while (i < w)
452 {
453 if ((*tmp & 0xff000000) == 0xff000000)
454 {
455 xmin = dx + i;
456 if ((i + 1) == w)
457 {
458 xmax = dx + i;
459 region = CreateRectRgn(xmin, dy + j, xmax + 1, dy + j + 1);
460 if (regions == NULL)
461 regions = region;
462 else
463 {
464 CombineRgn(regions, regions, region, RGN_OR);
465 DeleteObject(region);
466 }
467 }
468 else
469 {
470 i++;
471 tmp++;
472
473 while (i < w)
474 {
475 if ((*tmp & 0xff000000) == 0xff000000)
476 {
477 if ((i + 1) == w)
478 {
479 xmax = dx + i;
480 region = CreateRectRgn(xmin, dy + j, xmax + 1, dy + j + 1);
481 if (regions == NULL)
482 regions = region;
483 else
484 {
485 CombineRgn(regions, regions, region, RGN_OR);
486 DeleteObject(region);
487 }
488 break;
489 }
490 }
491 else
492 {
493 xmax = dx + i - 1;
494 region = CreateRectRgn(xmin, dy + j, xmax + 1, dy + j + 1);
495 if (regions == NULL)
496 regions = region;
497 else
498 {
499 CombineRgn(regions, regions, region, RGN_OR);
500 DeleteObject(region);
501 }
502 break;
503 }
504 i++;
505 tmp++;
506 }
507 }
508 }
509 i++;
510 tmp++;
511 }
512 }
513
514 if (!buf->priv.gdi.borderless)
515 {
516 RECT rnc;
517 RECT rc;
518 POINT pt = { 0, 0 };
519 LONG ncw;
520 LONG nch;
521 LONG cw;
522 LONG ch;
523
524 if (!GetWindowRect(buf->priv.gdi.window, &rnc))
525 return;
526 if (!GetClientRect(buf->priv.gdi.window, &rc))
527 return;
528 if (!ClientToScreen(buf->priv.gdi.window, &pt))
529 return;
530
531 ncw = rnc.right - rnc.left;
532 nch = rnc.bottom - rnc.top;
533 cw = rc.right - rc.left;
534 ch = rc.bottom - rc.top;
535
536 region = CreateRectRgn(0, 0, ncw, pt.y - rnc.top);
537 if (!regions)
538 regions = region;
539 else
540 {
541 CombineRgn(regions, regions, region, RGN_OR);
542 DeleteObject(region);
543 }
544 region = CreateRectRgn(0, pt.y - rnc.top, pt.x - rnc.left, nch);
545 CombineRgn(regions, regions, region, RGN_OR);
546 DeleteObject(region);
547 region = CreateRectRgn(pt.x - rnc.left, pt.y - rnc.top + ch, pt.x - rnc.left + cw, nch);
548 CombineRgn(regions, regions, region, RGN_OR);
549 DeleteObject(region);
550 region = CreateRectRgn(pt.x - rnc.left + cw, pt.y - rnc.top, ncw, nch);
551 CombineRgn(regions, regions, region, RGN_OR);
552 DeleteObject(region);
553 }
554
555 if (regions)
556 SetWindowRgn(buf->priv.gdi.window, regions, 1);
557 buf->priv.gdi.regions = regions;
558
559 buf->priv.region_built = 1;
560 }
561}
562
563void
564evas_software_gdi_outbuf_free_region_for_update(Outbuf *buf __UNUSED__,
565 RGBA_Image *update __UNUSED__)
566{
567 /* no need to do anything - they are cleaned up on flush */
568}
569
570void
571evas_software_gdi_outbuf_flush(Outbuf *buf)
572{
573 Eina_List *l;
574 RGBA_Image *im;
575 Outbuf_Region *obr;
576
577 /* copy safely the images that need to be drawn onto the back surface */
578 EINA_LIST_FOREACH(buf->priv.pending_writes, l, im)
579 {
580 Gdi_Output_Buffer *gdiob;
581
582 obr = im->extended_info;
583 gdiob = obr->gdiob;
584 evas_software_gdi_output_buffer_paste(gdiob,
585 obr->x,
586 obr->y);
587/* if (obr->mgdiob) */
588/* evas_software_gdi_output_buffer_paste(obr->mgdiob, */
589/* buf->priv.x11.xlib.mask, */
590/* buf->priv.x11.xlib.gcm, */
591/* obr->x, obr->y, 0); */
592 }
593
594 while (buf->priv.prev_pending_writes)
595 {
596 im = buf->priv.prev_pending_writes->data;
597 buf->priv.prev_pending_writes =
598 eina_list_remove_list(buf->priv.prev_pending_writes,
599 buf->priv.prev_pending_writes);
600 obr = im->extended_info;
601 evas_cache_image_drop(&im->cache_entry);
602 if (obr->gdiob) _unfind_gdiob(obr->gdiob);
603/* if (obr->mgdiob) _unfind_gdiob(obr->mgdiob); */
604/* if (obr->gdiob) evas_software_x11_x_output_buffer_free(obr->gdiob); */
605 free(obr);
606 }
607 buf->priv.prev_pending_writes = buf->priv.pending_writes;
608 buf->priv.pending_writes = NULL;
609
610 evas_common_cpu_end_opt();
611}
612
613void
614evas_software_gdi_outbuf_idle_flush(Outbuf *buf)
615{
616 while (buf->priv.prev_pending_writes)
617 {
618 RGBA_Image *im;
619 Outbuf_Region *obr;
620
621 im = buf->priv.prev_pending_writes->data;
622 buf->priv.prev_pending_writes =
623 eina_list_remove_list(buf->priv.prev_pending_writes,
624 buf->priv.prev_pending_writes);
625 obr = im->extended_info;
626 evas_cache_image_drop((Image_Entry *)im);
627 if (obr->gdiob) _unfind_gdiob(obr->gdiob);
628/* if (obr->mxob) _unfind_xob(obr->mxob, 0); */
629 free(obr);
630 }
631 _clear_gdiob();
632}
633
634int
635evas_software_gdi_outbuf_width_get(Outbuf *buf)
636{
637 return buf->width;
638}
639
640int
641evas_software_gdi_outbuf_height_get(Outbuf *buf)
642{
643 return buf->height;
644}
645
646Outbuf_Depth
647evas_software_gdi_outbuf_depth_get(Outbuf *buf)
648{
649 return buf->depth;
650}
651
652int
653evas_software_gdi_outbuf_rot_get(Outbuf *buf)
654{
655 return buf->rot;
656}