aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/wayland_shm
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/evas/src/modules/engines/wayland_shm')
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h20
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/Makefile.am45
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/Makefile.in816
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/evas_engine.c370
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/evas_engine.h60
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c100
6 files changed, 1411 insertions, 0 deletions
diff --git a/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h b/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h
new file mode 100644
index 0000000..b34b2c1
--- /dev/null
+++ b/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h
@@ -0,0 +1,20 @@
1#ifndef _EVAS_ENGINE_WAYLAND_SHM_H
2# define _EVAS_ENGINE_WAYLAND_SHM_H
3
4typedef struct _Evas_Engine_Info_Wayland_Shm Evas_Engine_Info_Wayland_Shm;
5struct _Evas_Engine_Info_Wayland_Shm
6{
7 Evas_Engine_Info magic;
8
9 struct
10 {
11 void *dest;
12 int rotation;
13
14 unsigned char debug : 1;
15 } info;
16
17 Evas_Engine_Render_Mode render_mode;
18};
19
20#endif
diff --git a/libraries/evas/src/modules/engines/wayland_shm/Makefile.am b/libraries/evas/src/modules/engines/wayland_shm/Makefile.am
new file mode 100644
index 0000000..455b82c
--- /dev/null
+++ b/libraries/evas/src/modules/engines/wayland_shm/Makefile.am
@@ -0,0 +1,45 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4AM_CPPFLAGS = \
5-I. \
6-I$(top_srcdir)/src/lib \
7-I$(top_srcdir)/src/lib/include \
8-I$(top_srcdir)/src/modules/engines \
9@FREETYPE_CFLAGS@ \
10@EINA_CFLAGS@ \
11@evas_engine_wayland_shm_cflags@
12
13if BUILD_ENGINE_WAYLAND_SHM
14
15WAYLAND_SHM_SOURCES = \
16evas_engine.c \
17evas_outbuf.c
18
19WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@
20
21includes_HEADERS = Evas_Engine_Wayland_Shm.h
22includesdir = $(includedir)/evas-@VMAJ@
23
24if !EVAS_STATIC_BUILD_WAYLAND_SHM
25
26pkgdir = $(libdir)/evas/modules/engines/wayland_shm/$(MODULE_ARCH)
27pkg_LTLIBRARIES = module.la
28
29module_la_SOURCES = $(WAYLAND_SHM_SOURCES)
30module_la_LIBADD = $(WAYLAND_SHM_LIBADD) $(top_builddir)/src/lib/libevas.la
31module_la_LDFLAGS = -no-undefined -module -avoid-version
32module_la_LIBTOOLFLAGS = --tag=disable-static
33
34else
35
36noinst_LTLIBRARIES = libevas_engine_wayland_shm.la
37
38libevas_engine_wayland_shm_la_SOURCES = $(WAYLAND_SHM_SOURCES)
39libevas_engine_wayland_shm_la_LIBADD = $(WAYLAND_SHM_LIBADD)
40
41endif
42endif
43
44EXTRA_DIST = \
45evas_engine.h
diff --git a/libraries/evas/src/modules/engines/wayland_shm/Makefile.in b/libraries/evas/src/modules/engines/wayland_shm/Makefile.in
new file mode 100644
index 0000000..4d69209
--- /dev/null
+++ b/libraries/evas/src/modules/engines/wayland_shm/Makefile.in
@@ -0,0 +1,816 @@
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/wayland_shm
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_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_TRUE@libevas_engine_wayland_shm_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
86am__libevas_engine_wayland_shm_la_SOURCES_DIST = evas_engine.c \
87 evas_outbuf.c
88@BUILD_ENGINE_WAYLAND_SHM_TRUE@am__objects_1 = evas_engine.lo \
89@BUILD_ENGINE_WAYLAND_SHM_TRUE@ evas_outbuf.lo
90@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_TRUE@am_libevas_engine_wayland_shm_la_OBJECTS = $(am__objects_1)
91libevas_engine_wayland_shm_la_OBJECTS = \
92 $(am_libevas_engine_wayland_shm_la_OBJECTS)
93AM_V_lt = $(am__v_lt_$(V))
94am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
95am__v_lt_0 = --silent
96@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_TRUE@am_libevas_engine_wayland_shm_la_rpath =
97@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@module_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
98@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@ $(top_builddir)/src/lib/libevas.la
99am__module_la_SOURCES_DIST = evas_engine.c evas_outbuf.c
100@BUILD_ENGINE_WAYLAND_SHM_TRUE@am__objects_2 = \
101@BUILD_ENGINE_WAYLAND_SHM_TRUE@ module_la-evas_engine.lo \
102@BUILD_ENGINE_WAYLAND_SHM_TRUE@ module_la-evas_outbuf.lo
103@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@am_module_la_OBJECTS = $(am__objects_2)
104module_la_OBJECTS = $(am_module_la_OBJECTS)
105module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
106 $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
107 $(AM_CFLAGS) $(CFLAGS) $(module_la_LDFLAGS) $(LDFLAGS) -o $@
108@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@am_module_la_rpath = -rpath \
109@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@ $(pkgdir)
110DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
111depcomp = $(SHELL) $(top_srcdir)/depcomp
112am__depfiles_maybe = depfiles
113am__mv = mv -f
114COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
115 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
116LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
117 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
118 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
119 $(AM_CFLAGS) $(CFLAGS)
120AM_V_CC = $(am__v_CC_$(V))
121am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
122am__v_CC_0 = @echo " CC " $@;
123AM_V_at = $(am__v_at_$(V))
124am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
125am__v_at_0 = @
126CCLD = $(CC)
127LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
128 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
129 $(AM_LDFLAGS) $(LDFLAGS) -o $@
130AM_V_CCLD = $(am__v_CCLD_$(V))
131am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
132am__v_CCLD_0 = @echo " CCLD " $@;
133AM_V_GEN = $(am__v_GEN_$(V))
134am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
135am__v_GEN_0 = @echo " GEN " $@;
136SOURCES = $(libevas_engine_wayland_shm_la_SOURCES) \
137 $(module_la_SOURCES)
138DIST_SOURCES = $(am__libevas_engine_wayland_shm_la_SOURCES_DIST) \
139 $(am__module_la_SOURCES_DIST)
140am__includes_HEADERS_DIST = Evas_Engine_Wayland_Shm.h
141HEADERS = $(includes_HEADERS)
142ETAGS = etags
143CTAGS = ctags
144DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
145ACLOCAL = @ACLOCAL@
146ALLOCA = @ALLOCA@
147AMTAR = @AMTAR@
148AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
149AR = @AR@
150AS = @AS@
151AUTOCONF = @AUTOCONF@
152AUTOHEADER = @AUTOHEADER@
153AUTOMAKE = @AUTOMAKE@
154AWK = @AWK@
155CC = @CC@
156CCDEPMODE = @CCDEPMODE@
157CFLAGS = @CFLAGS@
158CHECK_CFLAGS = @CHECK_CFLAGS@
159CHECK_LIBS = @CHECK_LIBS@
160CPP = @CPP@
161CPPFLAGS = @CPPFLAGS@
162CXX = @CXX@
163CXXCPP = @CXXCPP@
164CXXDEPMODE = @CXXDEPMODE@
165CXXFLAGS = @CXXFLAGS@
166CYGPATH_W = @CYGPATH_W@
167DEFS = @DEFS@
168DEPDIR = @DEPDIR@
169DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
170DIRECTFB_LIBS = @DIRECTFB_LIBS@
171DLLTOOL = @DLLTOOL@
172DSYMUTIL = @DSYMUTIL@
173DUMPBIN = @DUMPBIN@
174ECHO_C = @ECHO_C@
175ECHO_N = @ECHO_N@
176ECHO_T = @ECHO_T@
177ECORE_EVAS_CFLAGS = @ECORE_EVAS_CFLAGS@
178ECORE_EVAS_LIBS = @ECORE_EVAS_LIBS@
179EDB_CFLAGS = @EDB_CFLAGS@
180EDB_LIBS = @EDB_LIBS@
181EDJE_CFLAGS = @EDJE_CFLAGS@
182EDJE_LIBS = @EDJE_LIBS@
183EET_CFLAGS = @EET_CFLAGS@
184EET_LIBS = @EET_LIBS@
185EFL_COVERAGE_CFLAGS = @EFL_COVERAGE_CFLAGS@
186EFL_COVERAGE_LIBS = @EFL_COVERAGE_LIBS@
187EFL_FNMATCH_LIBS = @EFL_FNMATCH_LIBS@
188EGREP = @EGREP@
189EINA_CFLAGS = @EINA_CFLAGS@
190EINA_LIBS = @EINA_LIBS@
191EVAS_CFLAGS = @EVAS_CFLAGS@
192EVAS_LIBS = @EVAS_LIBS@
193EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
194EVIL_CFLAGS = @EVIL_CFLAGS@
195EVIL_LIBS = @EVIL_LIBS@
196EXEEXT = @EXEEXT@
197FGREP = @FGREP@
198FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
199FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
200FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
201FREETYPE_LIBS = @FREETYPE_LIBS@
202FRIBIDI_CFLAGS = @FRIBIDI_CFLAGS@
203FRIBIDI_LIBS = @FRIBIDI_LIBS@
204GL_EET_CFLAGS = @GL_EET_CFLAGS@
205GL_EET_LIBS = @GL_EET_LIBS@
206GREP = @GREP@
207HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@
208HARFBUZZ_LIBS = @HARFBUZZ_LIBS@
209INSTALL = @INSTALL@
210INSTALL_DATA = @INSTALL_DATA@
211INSTALL_PROGRAM = @INSTALL_PROGRAM@
212INSTALL_SCRIPT = @INSTALL_SCRIPT@
213INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
214LD = @LD@
215LDFLAGS = @LDFLAGS@
216LIBOBJS = @LIBOBJS@
217LIBS = @LIBS@
218LIBTOOL = @LIBTOOL@
219LINEBREAK_CFLAGS = @LINEBREAK_CFLAGS@
220LINEBREAK_LIBS = @LINEBREAK_LIBS@
221LIPO = @LIPO@
222LN_S = @LN_S@
223LTLIBOBJS = @LTLIBOBJS@
224MAKEINFO = @MAKEINFO@
225MKDIR_P = @MKDIR_P@
226MODULE_ARCH = @MODULE_ARCH@
227NM = @NM@
228NMEDIT = @NMEDIT@
229OBJC = @OBJC@
230OBJCDEPMODE = @OBJCDEPMODE@
231OBJCFLAGS = @OBJCFLAGS@
232OBJDUMP = @OBJDUMP@
233OBJEXT = @OBJEXT@
234OTOOL = @OTOOL@
235OTOOL64 = @OTOOL64@
236PACKAGE = @PACKAGE@
237PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
238PACKAGE_NAME = @PACKAGE_NAME@
239PACKAGE_STRING = @PACKAGE_STRING@
240PACKAGE_TARNAME = @PACKAGE_TARNAME@
241PACKAGE_URL = @PACKAGE_URL@
242PACKAGE_VERSION = @PACKAGE_VERSION@
243PATH_SEPARATOR = @PATH_SEPARATOR@
244PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
245PIXMAN_LIBS = @PIXMAN_LIBS@
246PKG_CONFIG = @PKG_CONFIG@
247PNG_CFLAGS = @PNG_CFLAGS@
248PNG_LIBS = @PNG_LIBS@
249RANLIB = @RANLIB@
250SDL_CFLAGS = @SDL_CFLAGS@
251SDL_LIBS = @SDL_LIBS@
252SED = @SED@
253SET_MAKE = @SET_MAKE@
254SHELL = @SHELL@
255SHM_OPEN_LINK = @SHM_OPEN_LINK@
256STRIP = @STRIP@
257SVG_CFLAGS = @SVG_CFLAGS@
258SVG_LIBS = @SVG_LIBS@
259VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
260VALGRIND_LIBS = @VALGRIND_LIBS@
261VERSION = @VERSION@
262VMAJ = @VMAJ@
263WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
264WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
265WIN32_CFLAGS = @WIN32_CFLAGS@
266WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
267XCB_CFLAGS = @XCB_CFLAGS@
268XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
269XCB_GL_LIBS = @XCB_GL_LIBS@
270XCB_LIBS = @XCB_LIBS@
271XEXT_CFLAGS = @XEXT_CFLAGS@
272XEXT_LIBS = @XEXT_LIBS@
273XMKMF = @XMKMF@
274X_CFLAGS = @X_CFLAGS@
275X_EXTRA_LIBS = @X_EXTRA_LIBS@
276X_LIBS = @X_LIBS@
277X_PRE_LIBS = @X_PRE_LIBS@
278abs_builddir = @abs_builddir@
279abs_srcdir = @abs_srcdir@
280abs_top_builddir = @abs_top_builddir@
281abs_top_srcdir = @abs_top_srcdir@
282ac_ct_CC = @ac_ct_CC@
283ac_ct_CXX = @ac_ct_CXX@
284ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
285ac_ct_OBJC = @ac_ct_OBJC@
286altivec_cflags = @altivec_cflags@
287am__include = @am__include@
288am__leading_dot = @am__leading_dot@
289am__quote = @am__quote@
290am__tar = @am__tar@
291am__untar = @am__untar@
292bindir = @bindir@
293build = @build@
294build_alias = @build_alias@
295build_cpu = @build_cpu@
296build_os = @build_os@
297build_vendor = @build_vendor@
298builddir = @builddir@
299datadir = @datadir@
300datarootdir = @datarootdir@
301dlopen_libs = @dlopen_libs@
302docdir = @docdir@
303dvidir = @dvidir@
304edje_cc = @edje_cc@
305efl_doxygen = @efl_doxygen@
306efl_have_doxygen = @efl_have_doxygen@
307evas_engine_buffer_cflags = @evas_engine_buffer_cflags@
308evas_engine_buffer_libs = @evas_engine_buffer_libs@
309evas_engine_direct3d_cflags = @evas_engine_direct3d_cflags@
310evas_engine_direct3d_libs = @evas_engine_direct3d_libs@
311evas_engine_directfb_cflags = @evas_engine_directfb_cflags@
312evas_engine_directfb_libs = @evas_engine_directfb_libs@
313evas_engine_fb_cflags = @evas_engine_fb_cflags@
314evas_engine_fb_libs = @evas_engine_fb_libs@
315evas_engine_gl_cocoa_cflags = @evas_engine_gl_cocoa_cflags@
316evas_engine_gl_cocoa_libs = @evas_engine_gl_cocoa_libs@
317evas_engine_gl_common_libs = @evas_engine_gl_common_libs@
318evas_engine_gl_sdl_cflags = @evas_engine_gl_sdl_cflags@
319evas_engine_gl_sdl_libs = @evas_engine_gl_sdl_libs@
320evas_engine_gl_xcb_cflags = @evas_engine_gl_xcb_cflags@
321evas_engine_gl_xcb_libs = @evas_engine_gl_xcb_libs@
322evas_engine_gl_xlib_cflags = @evas_engine_gl_xlib_cflags@
323evas_engine_gl_xlib_libs = @evas_engine_gl_xlib_libs@
324evas_engine_psl1ght_cflags = @evas_engine_psl1ght_cflags@
325evas_engine_psl1ght_libs = @evas_engine_psl1ght_libs@
326evas_engine_software_16_ddraw_cflags = @evas_engine_software_16_ddraw_cflags@
327evas_engine_software_16_ddraw_libs = @evas_engine_software_16_ddraw_libs@
328evas_engine_software_16_sdl_cflags = @evas_engine_software_16_sdl_cflags@
329evas_engine_software_16_sdl_libs = @evas_engine_software_16_sdl_libs@
330evas_engine_software_16_wince_cflags = @evas_engine_software_16_wince_cflags@
331evas_engine_software_16_wince_libs = @evas_engine_software_16_wince_libs@
332evas_engine_software_16_x11_cflags = @evas_engine_software_16_x11_cflags@
333evas_engine_software_16_x11_libs = @evas_engine_software_16_x11_libs@
334evas_engine_software_8_x11_cflags = @evas_engine_software_8_x11_cflags@
335evas_engine_software_8_x11_libs = @evas_engine_software_8_x11_libs@
336evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
337evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
338evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
339evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
340evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
341evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
345evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
346evas_engine_wayland_egl_cflags = @evas_engine_wayland_egl_cflags@
347evas_engine_wayland_egl_libs = @evas_engine_wayland_egl_libs@
348evas_engine_wayland_shm_cflags = @evas_engine_wayland_shm_cflags@
349evas_engine_wayland_shm_libs = @evas_engine_wayland_shm_libs@
350evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@
351evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@
352evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@
353evas_image_loader_edb_libs = @evas_image_loader_edb_libs@
354evas_image_loader_eet_cflags = @evas_image_loader_eet_cflags@
355evas_image_loader_eet_libs = @evas_image_loader_eet_libs@
356evas_image_loader_generic_cflags = @evas_image_loader_generic_cflags@
357evas_image_loader_generic_libs = @evas_image_loader_generic_libs@
358evas_image_loader_gif_cflags = @evas_image_loader_gif_cflags@
359evas_image_loader_gif_libs = @evas_image_loader_gif_libs@
360evas_image_loader_ico_cflags = @evas_image_loader_ico_cflags@
361evas_image_loader_ico_libs = @evas_image_loader_ico_libs@
362evas_image_loader_jpeg_cflags = @evas_image_loader_jpeg_cflags@
363evas_image_loader_jpeg_libs = @evas_image_loader_jpeg_libs@
364evas_image_loader_pmaps_cflags = @evas_image_loader_pmaps_cflags@
365evas_image_loader_pmaps_libs = @evas_image_loader_pmaps_libs@
366evas_image_loader_png_cflags = @evas_image_loader_png_cflags@
367evas_image_loader_png_libs = @evas_image_loader_png_libs@
368evas_image_loader_psd_cflags = @evas_image_loader_psd_cflags@
369evas_image_loader_psd_libs = @evas_image_loader_psd_libs@
370evas_image_loader_svg_cflags = @evas_image_loader_svg_cflags@
371evas_image_loader_svg_libs = @evas_image_loader_svg_libs@
372evas_image_loader_tga_cflags = @evas_image_loader_tga_cflags@
373evas_image_loader_tga_libs = @evas_image_loader_tga_libs@
374evas_image_loader_tiff_cflags = @evas_image_loader_tiff_cflags@
375evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
376evas_image_loader_wbmp_cflags = @evas_image_loader_wbmp_cflags@
377evas_image_loader_wbmp_libs = @evas_image_loader_wbmp_libs@
378evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
379evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
380exec_prefix = @exec_prefix@
381have_evas_engine_gl_x11 = @have_evas_engine_gl_x11@
382have_evas_engine_gl_xcb = @have_evas_engine_gl_xcb@
383have_evas_engine_gl_xlib = @have_evas_engine_gl_xlib@
384have_evas_engine_software_x11 = @have_evas_engine_software_x11@
385have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
386have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
387have_lcov = @have_lcov@
388host = @host@
389host_alias = @host_alias@
390host_cpu = @host_cpu@
391host_os = @host_os@
392host_vendor = @host_vendor@
393htmldir = @htmldir@
394includedir = @includedir@
395infodir = @infodir@
396install_sh = @install_sh@
397libdir = @libdir@
398libexecdir = @libexecdir@
399localedir = @localedir@
400localstatedir = @localstatedir@
401lt_ECHO = @lt_ECHO@
402lt_enable_auto_import = @lt_enable_auto_import@
403mandir = @mandir@
404mkdir_p = @mkdir_p@
405oldincludedir = @oldincludedir@
406pdfdir = @pdfdir@
407pkgconfig_requires_private = @pkgconfig_requires_private@
408prefix = @prefix@
409program_transform_name = @program_transform_name@
410psdir = @psdir@
411pthread_cflags = @pthread_cflags@
412pthread_libs = @pthread_libs@
413release_info = @release_info@
414requirement_evas = @requirement_evas@
415sbindir = @sbindir@
416sharedstatedir = @sharedstatedir@
417srcdir = @srcdir@
418sysconfdir = @sysconfdir@
419target_alias = @target_alias@
420top_build_prefix = @top_build_prefix@
421top_builddir = @top_builddir@
422top_srcdir = @top_srcdir@
423version_info = @version_info@
424MAINTAINERCLEANFILES = Makefile.in
425AM_CPPFLAGS = \
426-I. \
427-I$(top_srcdir)/src/lib \
428-I$(top_srcdir)/src/lib/include \
429-I$(top_srcdir)/src/modules/engines \
430@FREETYPE_CFLAGS@ \
431@EINA_CFLAGS@ \
432@evas_engine_wayland_shm_cflags@
433
434@BUILD_ENGINE_WAYLAND_SHM_TRUE@WAYLAND_SHM_SOURCES = \
435@BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_engine.c \
436@BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_outbuf.c
437
438@BUILD_ENGINE_WAYLAND_SHM_TRUE@WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@
439@BUILD_ENGINE_WAYLAND_SHM_TRUE@includes_HEADERS = Evas_Engine_Wayland_Shm.h
440@BUILD_ENGINE_WAYLAND_SHM_TRUE@includesdir = $(includedir)/evas-@VMAJ@
441@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@pkgdir = $(libdir)/evas/modules/engines/wayland_shm/$(MODULE_ARCH)
442@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@pkg_LTLIBRARIES = module.la
443@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@module_la_SOURCES = $(WAYLAND_SHM_SOURCES)
444@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@module_la_LIBADD = $(WAYLAND_SHM_LIBADD) $(top_builddir)/src/lib/libevas.la
445@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@module_la_LDFLAGS = -no-undefined -module -avoid-version
446@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static
447@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_TRUE@noinst_LTLIBRARIES = libevas_engine_wayland_shm.la
448@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_TRUE@libevas_engine_wayland_shm_la_SOURCES = $(WAYLAND_SHM_SOURCES)
449@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_TRUE@libevas_engine_wayland_shm_la_LIBADD = $(WAYLAND_SHM_LIBADD)
450EXTRA_DIST = \
451evas_engine.h
452
453all: all-am
454
455.SUFFIXES:
456.SUFFIXES: .c .lo .o .obj
457$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
458 @for dep in $?; do \
459 case '$(am__configure_deps)' in \
460 *$$dep*) \
461 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
462 && { if test -f $@; then exit 0; else break; fi; }; \
463 exit 1;; \
464 esac; \
465 done; \
466 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/engines/wayland_shm/Makefile'; \
467 $(am__cd) $(top_srcdir) && \
468 $(AUTOMAKE) --gnu src/modules/engines/wayland_shm/Makefile
469.PRECIOUS: Makefile
470Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
471 @case '$?' in \
472 *config.status*) \
473 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
474 *) \
475 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
476 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
477 esac;
478
479$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
480 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
481
482$(top_srcdir)/configure: $(am__configure_deps)
483 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
484$(ACLOCAL_M4): $(am__aclocal_m4_deps)
485 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
486$(am__aclocal_m4_deps):
487
488clean-noinstLTLIBRARIES:
489 -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
490 @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
491 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
492 test "$$dir" != "$$p" || dir=.; \
493 echo "rm -f \"$${dir}/so_locations\""; \
494 rm -f "$${dir}/so_locations"; \
495 done
496install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
497 @$(NORMAL_INSTALL)
498 test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
499 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
500 list2=; for p in $$list; do \
501 if test -f $$p; then \
502 list2="$$list2 $$p"; \
503 else :; fi; \
504 done; \
505 test -z "$$list2" || { \
506 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
507 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
508 }
509
510uninstall-pkgLTLIBRARIES:
511 @$(NORMAL_UNINSTALL)
512 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
513 for p in $$list; do \
514 $(am__strip_dir) \
515 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgdir)/$$f'"; \
516 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgdir)/$$f"; \
517 done
518
519clean-pkgLTLIBRARIES:
520 -test -z "$(pkg_LTLIBRARIES)" || rm -f $(pkg_LTLIBRARIES)
521 @list='$(pkg_LTLIBRARIES)'; for p in $$list; do \
522 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
523 test "$$dir" != "$$p" || dir=.; \
524 echo "rm -f \"$${dir}/so_locations\""; \
525 rm -f "$${dir}/so_locations"; \
526 done
527libevas_engine_wayland_shm.la: $(libevas_engine_wayland_shm_la_OBJECTS) $(libevas_engine_wayland_shm_la_DEPENDENCIES)
528 $(AM_V_CCLD)$(LINK) $(am_libevas_engine_wayland_shm_la_rpath) $(libevas_engine_wayland_shm_la_OBJECTS) $(libevas_engine_wayland_shm_la_LIBADD) $(LIBS)
529module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES)
530 $(AM_V_CCLD)$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
531
532mostlyclean-compile:
533 -rm -f *.$(OBJEXT)
534
535distclean-compile:
536 -rm -f *.tab.c
537
538@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_engine.Plo@am__quote@
539@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_outbuf.Plo@am__quote@
540@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_engine.Plo@am__quote@
541@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_outbuf.Plo@am__quote@
542
543.c.o:
544@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
545@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
546@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
547@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
548@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
549@am__fastdepCC_FALSE@ $(COMPILE) -c $<
550
551.c.obj:
552@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
553@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
554@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
555@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
556@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
557@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
558
559.c.lo:
560@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
561@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
562@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
563@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
564@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
565@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
566
567module_la-evas_engine.lo: evas_engine.c
568@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
569@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_engine.Tpo $(DEPDIR)/module_la-evas_engine.Plo
570@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
571@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_engine.c' object='module_la-evas_engine.lo' libtool=yes @AMDEPBACKSLASH@
572@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
573@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
574
575module_la-evas_outbuf.lo: evas_outbuf.c
576@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
577@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_outbuf.Tpo $(DEPDIR)/module_la-evas_outbuf.Plo
578@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
579@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_outbuf.c' object='module_la-evas_outbuf.lo' libtool=yes @AMDEPBACKSLASH@
580@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
581@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
582
583mostlyclean-libtool:
584 -rm -f *.lo
585
586clean-libtool:
587 -rm -rf .libs _libs
588install-includesHEADERS: $(includes_HEADERS)
589 @$(NORMAL_INSTALL)
590 test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
591 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
592 for p in $$list; do \
593 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
594 echo "$$d$$p"; \
595 done | $(am__base_list) | \
596 while read files; do \
597 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
598 $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
599 done
600
601uninstall-includesHEADERS:
602 @$(NORMAL_UNINSTALL)
603 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
604 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
605 test -n "$$files" || exit 0; \
606 echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
607 cd "$(DESTDIR)$(includesdir)" && rm -f $$files
608
609ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
610 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
611 unique=`for i in $$list; do \
612 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
613 done | \
614 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
615 END { if (nonempty) { for (i in files) print i; }; }'`; \
616 mkid -fID $$unique
617tags: TAGS
618
619TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
620 $(TAGS_FILES) $(LISP)
621 set x; \
622 here=`pwd`; \
623 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
624 unique=`for i in $$list; do \
625 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
626 done | \
627 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
628 END { if (nonempty) { for (i in files) print i; }; }'`; \
629 shift; \
630 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
631 test -n "$$unique" || unique=$$empty_fix; \
632 if test $$# -gt 0; then \
633 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
634 "$$@" $$unique; \
635 else \
636 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
637 $$unique; \
638 fi; \
639 fi
640ctags: CTAGS
641CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
642 $(TAGS_FILES) $(LISP)
643 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
644 unique=`for i in $$list; do \
645 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
646 done | \
647 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
648 END { if (nonempty) { for (i in files) print i; }; }'`; \
649 test -z "$(CTAGS_ARGS)$$unique" \
650 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
651 $$unique
652
653GTAGS:
654 here=`$(am__cd) $(top_builddir) && pwd` \
655 && $(am__cd) $(top_srcdir) \
656 && gtags -i $(GTAGS_ARGS) "$$here"
657
658distclean-tags:
659 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
660
661distdir: $(DISTFILES)
662 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
663 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
664 list='$(DISTFILES)'; \
665 dist_files=`for file in $$list; do echo $$file; done | \
666 sed -e "s|^$$srcdirstrip/||;t" \
667 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
668 case $$dist_files in \
669 */*) $(MKDIR_P) `echo "$$dist_files" | \
670 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
671 sort -u` ;; \
672 esac; \
673 for file in $$dist_files; do \
674 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
675 if test -d $$d/$$file; then \
676 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
677 if test -d "$(distdir)/$$file"; then \
678 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
679 fi; \
680 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
681 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
682 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
683 fi; \
684 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
685 else \
686 test -f "$(distdir)/$$file" \
687 || cp -p $$d/$$file "$(distdir)/$$file" \
688 || exit 1; \
689 fi; \
690 done
691check-am: all-am
692check: check-am
693all-am: Makefile $(LTLIBRARIES) $(HEADERS)
694installdirs:
695 for dir in "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includesdir)"; do \
696 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
697 done
698install: install-am
699install-exec: install-exec-am
700install-data: install-data-am
701uninstall: uninstall-am
702
703install-am: all-am
704 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
705
706installcheck: installcheck-am
707install-strip:
708 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
709 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
710 `test -z '$(STRIP)' || \
711 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
712mostlyclean-generic:
713
714clean-generic:
715
716distclean-generic:
717 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
718 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
719
720maintainer-clean-generic:
721 @echo "This command is intended for maintainers to use"
722 @echo "it deletes files that may require special tools to rebuild."
723 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
724clean: clean-am
725
726clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
727 clean-pkgLTLIBRARIES mostlyclean-am
728
729distclean: distclean-am
730 -rm -rf ./$(DEPDIR)
731 -rm -f Makefile
732distclean-am: clean-am distclean-compile distclean-generic \
733 distclean-tags
734
735dvi: dvi-am
736
737dvi-am:
738
739html: html-am
740
741html-am:
742
743info: info-am
744
745info-am:
746
747install-data-am: install-includesHEADERS install-pkgLTLIBRARIES
748
749install-dvi: install-dvi-am
750
751install-dvi-am:
752
753install-exec-am:
754
755install-html: install-html-am
756
757install-html-am:
758
759install-info: install-info-am
760
761install-info-am:
762
763install-man:
764
765install-pdf: install-pdf-am
766
767install-pdf-am:
768
769install-ps: install-ps-am
770
771install-ps-am:
772
773installcheck-am:
774
775maintainer-clean: maintainer-clean-am
776 -rm -rf ./$(DEPDIR)
777 -rm -f Makefile
778maintainer-clean-am: distclean-am maintainer-clean-generic
779
780mostlyclean: mostlyclean-am
781
782mostlyclean-am: mostlyclean-compile mostlyclean-generic \
783 mostlyclean-libtool
784
785pdf: pdf-am
786
787pdf-am:
788
789ps: ps-am
790
791ps-am:
792
793uninstall-am: uninstall-includesHEADERS uninstall-pkgLTLIBRARIES
794
795.MAKE: install-am install-strip
796
797.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
798 clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
799 ctags distclean distclean-compile distclean-generic \
800 distclean-libtool distclean-tags distdir dvi dvi-am html \
801 html-am info info-am install install-am install-data \
802 install-data-am install-dvi install-dvi-am install-exec \
803 install-exec-am install-html install-html-am \
804 install-includesHEADERS install-info install-info-am \
805 install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
806 install-ps install-ps-am install-strip installcheck \
807 installcheck-am installdirs maintainer-clean \
808 maintainer-clean-generic mostlyclean mostlyclean-compile \
809 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
810 tags uninstall uninstall-am uninstall-includesHEADERS \
811 uninstall-pkgLTLIBRARIES
812
813
814# Tell versions [3.59,3.63) of GNU make to not export all variables.
815# Otherwise a system limit (for SysV at least) may be exceeded.
816.NOEXPORT:
diff --git a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c
new file mode 100644
index 0000000..7c55517
--- /dev/null
+++ b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c
@@ -0,0 +1,370 @@
1#include "evas_common.h"
2#include "evas_private.h"
3#include "evas_engine.h"
4#include "Evas_Engine_Wayland_Shm.h"
5
6/* local structures */
7typedef struct _Render_Engine Render_Engine;
8struct _Render_Engine
9{
10 Tilebuf *tb;
11 Tilebuf_Rect *rects;
12 Outbuf *ob;
13 Eina_Inlist *cur_rect;
14
15 Eina_Bool end : 1;
16
17 void (*outbuf_free)(Outbuf *ob);
18 void (*outbuf_resize)(Outbuf *ob, int w, int h);
19 RGBA_Image *(*outbuf_new_region_for_update)(Outbuf *ob, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch);
20 void (*outbuf_push_updated_region)(Outbuf *ob, RGBA_Image *surface, int x, int y, int w, int h);
21 void (*outbuf_free_region_for_update)(Outbuf *ob, RGBA_Image *update);
22};
23
24/* local variables */
25static Evas_Func func, pfunc;
26
27/* external variables */
28int _evas_engine_way_shm_log_dom = -1;
29
30/* local function prototypes */
31static void *_output_setup(int w, int h, int rotation, void *dest);
32
33/* engine function prototypes */
34static void *eng_info(Evas *evas __UNUSED__);
35static void eng_info_free(Evas *evas __UNUSED__, void *info);
36static int eng_setup(Evas *evas, void *info);
37static void eng_output_free(void *data);
38static void eng_output_resize(void *data, int w, int h);
39static void eng_output_tile_size_set(void *data, int w, int h);
40static void eng_output_redraws_rect_add(void *data, int x, int y, int w, int h);
41static void eng_output_redraws_rect_del(void *data, int x, int y, int w, int h);
42static void eng_output_redraws_clear(void *data);
43static 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);
44static void eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h);
45static void eng_output_flush(void *data);
46static void eng_output_idle_flush(void *data);
47static Eina_Bool eng_canvas_alpha_get(void *data, void *context __UNUSED__);
48
49/* local functions */
50static void *
51_output_setup(int w, int h, int rotation, void *dest)
52{
53 Render_Engine *re = NULL;
54
55 LOGFN(__FILE__, __LINE__, __FUNCTION__);
56
57 if (!(re = calloc(1, sizeof(Render_Engine)))) return NULL;
58
59 if (!(re->ob = evas_outbuf_setup(w, h, rotation, dest)))
60 {
61 free(re);
62 return NULL;
63 }
64
65 if (!(re->tb = evas_common_tilebuf_new(w, h)))
66 {
67 evas_outbuf_free(re->ob);
68 free(re);
69 return NULL;
70 }
71
72 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
73 return re;
74}
75
76/* engine functions */
77static void *
78eng_info(Evas *evas __UNUSED__)
79{
80 Evas_Engine_Info_Wayland_Shm *info;
81
82 LOGFN(__FILE__, __LINE__, __FUNCTION__);
83
84 if (!(info = calloc(1, sizeof(Evas_Engine_Info_Wayland_Shm))))
85 return NULL;
86
87 info->magic.magic = rand();
88 info->info.debug = EINA_FALSE;
89 info->render_mode = EVAS_RENDER_MODE_BLOCKING;
90
91 return info;
92}
93
94static void
95eng_info_free(Evas *evas __UNUSED__, void *info)
96{
97 Evas_Engine_Info_Wayland_Shm *in;
98
99 LOGFN(__FILE__, __LINE__, __FUNCTION__);
100
101 if (!(in = (Evas_Engine_Info_Wayland_Shm *)info)) return;
102 free(in);
103}
104
105static int
106eng_setup(Evas *evas, void *info)
107{
108 Evas_Engine_Info_Wayland_Shm *in;
109 Render_Engine *re = NULL;
110
111 LOGFN(__FILE__, __LINE__, __FUNCTION__);
112
113 if (!(in = (Evas_Engine_Info_Wayland_Shm *)info)) return 0;
114
115 if (!evas->engine.data.output)
116 {
117 evas_common_cpu_init();
118 evas_common_blend_init();
119 evas_common_image_init();
120 evas_common_convert_init();
121 evas_common_scale_init();
122 evas_common_rectangle_init();
123 evas_common_polygon_init();
124 evas_common_line_init();
125 evas_common_font_init();
126 evas_common_draw_init();
127 evas_common_tilebuf_init();
128
129 re = _output_setup(evas->output.w, evas->output.h,
130 in->info.rotation, in->info.dest);
131 if (!re) return 0;
132
133 re->outbuf_free = evas_outbuf_free;
134 re->outbuf_resize = evas_outbuf_resize;
135 re->outbuf_new_region_for_update = evas_outbuf_new_region_for_update;
136 re->outbuf_push_updated_region = evas_outbuf_push_updated_region;
137 re->outbuf_free_region_for_update = evas_outbuf_free_region_for_update;
138 }
139 else
140 {
141 if (!(re = evas->engine.data.output)) return 0;
142 if (re->ob) re->outbuf_free(re->ob);
143 re->ob = evas_outbuf_setup(evas->output.w, evas->output.h,
144 in->info.rotation, in->info.dest);
145 if (re->tb) evas_common_tilebuf_free(re->tb);
146 if ((re->tb = evas_common_tilebuf_new(evas->output.w, evas->output.h)))
147 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
148 }
149
150 evas->engine.data.output = re;
151
152 if (!evas->engine.data.context)
153 {
154 evas->engine.data.context =
155 evas->engine.func->context_new(evas->engine.data.output);
156 }
157
158 return 1;
159}
160
161static void
162eng_output_free(void *data)
163{
164 Render_Engine *re = NULL;
165
166 LOGFN(__FILE__, __LINE__, __FUNCTION__);
167
168 if ((re = (Render_Engine *)data))
169 {
170 if (re->ob) re->outbuf_free(re->ob);
171 if (re->tb) evas_common_tilebuf_free(re->tb);
172 if (re->rects) evas_common_tilebuf_free_render_rects(re->rects);
173 free(re);
174 }
175 evas_common_font_shutdown();
176 evas_common_image_shutdown();
177}
178
179static void
180eng_output_resize(void *data, int w, int h)
181{
182 Render_Engine *re = NULL;
183
184 LOGFN(__FILE__, __LINE__, __FUNCTION__);
185
186 if (!(re = (Render_Engine *)data)) return;
187
188 if (re->ob) re->outbuf_resize(re->ob, w, h);
189 if (re->tb) evas_common_tilebuf_free(re->tb);
190 if ((re->tb = evas_common_tilebuf_new(w, h)))
191 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
192}
193
194static void
195eng_output_tile_size_set(void *data, int w, int h)
196{
197 Render_Engine *re = NULL;
198
199 if (!(re = (Render_Engine *)data)) return;
200 if (re->tb) evas_common_tilebuf_set_tile_size(re->tb, w, h);
201}
202
203static void
204eng_output_redraws_rect_add(void *data, int x, int y, int w, int h)
205{
206 Render_Engine *re = NULL;
207
208 if (!(re = (Render_Engine *)data)) return;
209 if (re->tb) evas_common_tilebuf_add_redraw(re->tb, x, y, w, h);
210}
211
212static void
213eng_output_redraws_rect_del(void *data, int x, int y, int w, int h)
214{
215 Render_Engine *re = NULL;
216
217 if (!(re = (Render_Engine *)data)) return;
218 if (re->tb) evas_common_tilebuf_del_redraw(re->tb, x, y, w, h);
219}
220
221static void
222eng_output_redraws_clear(void *data)
223{
224 Render_Engine *re = NULL;
225
226 if (!(re = (Render_Engine *)data)) return;
227 if (re->tb) evas_common_tilebuf_clear(re->tb);
228}
229
230static void *
231eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch)
232{
233 Render_Engine *re = NULL;
234 RGBA_Image *surface;
235 Tilebuf_Rect *rect;
236 int ux = 0, uy = 0, uw = 0, uh = 0;
237
238 if (!(re = (Render_Engine *)data)) return NULL;
239 if (re->end)
240 {
241 re->end = EINA_FALSE;
242 return NULL;
243 }
244 if (!re->rects)
245 {
246 re->rects = evas_common_tilebuf_get_render_rects(re->tb);
247 re->cur_rect = EINA_INLIST_GET(re->rects);
248 }
249 if (!re->cur_rect) return NULL;
250 rect = (Tilebuf_Rect *)re->cur_rect;
251 ux = rect->x;
252 uy = rect->y;
253 uw = rect->w;
254 uh = rect->h;
255 re->cur_rect = re->cur_rect->next;
256 if (!re->cur_rect)
257 {
258 evas_common_tilebuf_free_render_rects(re->rects);
259 re->rects = NULL;
260 re->end = EINA_TRUE;
261 }
262 if ((ux + uw) > re->ob->w) uw = re->ob->w - ux;
263 if ((uy + uh) > re->ob->h) uh = re->ob->h - uy;
264 if ((uw <= 0) || (uh <= 0)) return NULL;
265 surface =
266 re->outbuf_new_region_for_update(re->ob, ux, uy, uw, uh, cx, cy, cw, ch);
267 if (x) *x = ux;
268 if (y) *y = uy;
269 if (w) *w = uw;
270 if (h) *h = uh;
271 return surface;
272}
273
274static void
275eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h)
276{
277 Render_Engine *re = NULL;
278
279 if (!(re = (Render_Engine *)data)) return;
280#ifdef BUILD_PIPE_RENDER
281 evas_common_pipe_map_begin(surface);
282#endif
283 if (re->ob)
284 {
285 re->outbuf_push_updated_region(re->ob, surface, x, y, w, h);
286 re->outbuf_free_region_for_update(re->ob, surface);
287 }
288 evas_common_cpu_end_opt();
289}
290
291static void
292eng_output_flush(void *data)
293{
294 Render_Engine *re = NULL;
295
296 if (!(re = (Render_Engine *)data)) return;
297}
298
299static void
300eng_output_idle_flush(void *data)
301{
302 Render_Engine *re = NULL;
303
304 if (!(re = (Render_Engine *)data)) return;
305}
306
307static Eina_Bool
308eng_canvas_alpha_get(void *data, void *context __UNUSED__)
309{
310 Render_Engine *re = NULL;
311
312 if (!(re = (Render_Engine *)data)) return EINA_FALSE;
313 return EINA_TRUE;
314}
315
316/* module functions */
317static int
318module_open(Evas_Module *em)
319{
320 if (!em) return 0;
321
322 if (!_evas_module_engine_inherit(&pfunc, "software_generic"))
323 return 0;
324
325 _evas_engine_way_shm_log_dom =
326 eina_log_domain_register("evas-wayland_shm", EVAS_DEFAULT_LOG_COLOR);
327 if (_evas_engine_way_shm_log_dom < 0)
328 {
329 EINA_LOG_ERR("Could not create a module log domain.");
330 return 0;
331 }
332
333 func = pfunc;
334
335#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
336 ORD(info);
337 ORD(info_free);
338 ORD(setup);
339 ORD(canvas_alpha_get);
340 ORD(output_free);
341 ORD(output_resize);
342 ORD(output_tile_size_set);
343 ORD(output_redraws_rect_add);
344 ORD(output_redraws_rect_del);
345 ORD(output_redraws_clear);
346 ORD(output_redraws_next_update_get);
347 ORD(output_redraws_next_update_push);
348 ORD(output_flush);
349 ORD(output_idle_flush);
350
351 em->functions = (void *)(&func);
352 return 1;
353}
354
355static void
356module_close(Evas_Module *em __UNUSED__)
357{
358 eina_log_domain_unregister(_evas_engine_way_shm_log_dom);
359}
360
361static Evas_Module_Api evas_modapi =
362{
363 EVAS_MODULE_API_VERSION, "wayland_shm", "none", {module_open, module_close}
364};
365
366EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, wayland_shm);
367
368#ifndef EVAS_STATIC_BUILD_WAYLAND_SHM
369EVAS_EINA_MODULE_DEFINE(engine, wayland_shm);
370#endif
diff --git a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h
new file mode 100644
index 0000000..878851a
--- /dev/null
+++ b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h
@@ -0,0 +1,60 @@
1#ifndef _EVAS_ENGINE_H
2# define _EVAS_ENGINE_H
3
4//# define LOGFNS 1
5
6# ifdef LOGFNS
7# include <stdio.h>
8# define LOGFN(fl, ln, fn) printf("-EVAS-WL: %25s: %5i - %s\n", fl, ln, fn);
9# else
10# define LOGFN(fl, ln, fn)
11# endif
12
13extern int _evas_engine_way_shm_log_dom;
14
15# ifdef ERR
16# undef ERR
17# endif
18# define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_way_shm_log_dom, __VA_ARGS__)
19
20# ifdef DBG
21# undef DBG
22# endif
23# define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_way_shm_log_dom, __VA_ARGS__)
24
25# ifdef INF
26# undef INF
27# endif
28# define INF(...) EINA_LOG_DOM_INFO(_evas_engine_way_shm_log_dom, __VA_ARGS__)
29
30# ifdef WRN
31# undef WRN
32# endif
33# define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_way_shm_log_dom, __VA_ARGS__)
34
35# ifdef CRIT
36# undef CRIT
37# endif
38# define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_way_shm_log_dom, __VA_ARGS__)
39
40typedef struct _Outbuf Outbuf;
41struct _Outbuf
42{
43 int w, h;
44 int rotation;
45
46 struct
47 {
48 void *dest;
49 RGBA_Image *buffer;
50 } priv;
51};
52
53void evas_outbuf_free(Outbuf *ob);
54void evas_outbuf_resize(Outbuf *ob, int w, int h);
55Outbuf *evas_outbuf_setup(int w, int h, int rot, void *dest);
56RGBA_Image *evas_outbuf_new_region_for_update(Outbuf *ob, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch);
57void evas_outbuf_push_updated_region(Outbuf *ob, RGBA_Image *update, int x __UNUSED__, int y, int w, int h);
58void evas_outbuf_free_region_for_update(Outbuf *ob, RGBA_Image *update);
59
60#endif
diff --git a/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c b/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c
new file mode 100644
index 0000000..490a978
--- /dev/null
+++ b/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c
@@ -0,0 +1,100 @@
1#include "evas_common.h"
2#include "evas_engine.h"
3
4void
5evas_outbuf_free(Outbuf *ob)
6{
7 if (!ob) return;
8 if (ob->priv.buffer) evas_cache_image_drop(&ob->priv.buffer->cache_entry);
9 free(ob);
10}
11
12void
13evas_outbuf_resize(Outbuf *ob, int w, int h)
14{
15 if (!ob) return;
16 if ((ob->w == w) && (ob->h == h)) return;
17 ob->w = w;
18 ob->h = h;
19 if (ob->priv.buffer) evas_cache_image_drop(&ob->priv.buffer->cache_entry);
20 ob->priv.buffer = NULL;
21}
22
23Outbuf *
24evas_outbuf_setup(int w, int h, int rot, void *dest)
25{
26 Outbuf *ob = NULL;
27
28 if (!(ob = calloc(1, sizeof(Outbuf)))) return NULL;
29
30 ob->w = w;
31 ob->h = h;
32 ob->rotation = rot;
33 ob->priv.dest = dest;
34
35 ob->priv.buffer =
36 (RGBA_Image *)evas_cache_image_data(evas_common_image_cache_get(),
37 w, h, ob->priv.dest,
38 1, EVAS_COLORSPACE_ARGB8888);
39
40 return ob;
41}
42
43RGBA_Image *
44evas_outbuf_new_region_for_update(Outbuf *ob, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch)
45{
46 if (ob->priv.buffer)
47 {
48 *cx = x; *cy = y; *cw = w; *ch = h;
49 return ob->priv.buffer;
50 }
51 else
52 {
53 RGBA_Image *im;
54
55 *cx = 0; *cy = 0; *cw = w; *ch = h;
56 im = (RGBA_Image *)evas_cache_image_empty(evas_common_image_cache_get());
57 if (im)
58 {
59 im->cache_entry.flags.alpha = 1;
60 im = (RGBA_Image *)evas_cache_image_size_set(&im->cache_entry, w, h);
61 }
62
63 return im;
64 }
65
66 return NULL;
67}
68
69void
70evas_outbuf_push_updated_region(Outbuf *ob, RGBA_Image *update, int x __UNUSED__, int y, int w, int h)
71{
72 if (!ob->priv.dest) return;
73 if (!ob->priv.buffer)
74 {
75 Gfx_Func_Copy func;
76
77 func = evas_common_draw_func_copy_get(w, 0);
78 if (func)
79 {
80 DATA32 *dst, *src;
81 int yy = 0, bytes = 0;
82
83 bytes = ((w * sizeof(int)) * h);
84 for (yy = 0; yy < h; yy++)
85 {
86 src = update->image.data + (yy * update->cache_entry.w);
87 dst = (DATA32 *)((DATA8 *)(ob->priv.dest) +
88 ((y + yy) * bytes));
89 func(src, dst, w);
90 }
91 }
92 }
93}
94
95void
96evas_outbuf_free_region_for_update(Outbuf *ob, RGBA_Image *update)
97{
98 if (!ob) return;
99 if (update != ob->priv.buffer) evas_cache_image_drop(&update->cache_entry);
100}