aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/loaders/png
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libraries/evas/src/modules/loaders/png/Makefile.am34
-rw-r--r--libraries/evas/src/modules/loaders/png/Makefile.in759
-rw-r--r--libraries/evas/src/modules/loaders/png/evas_image_load_png.c328
3 files changed, 1121 insertions, 0 deletions
diff --git a/libraries/evas/src/modules/loaders/png/Makefile.am b/libraries/evas/src/modules/loaders/png/Makefile.am
new file mode 100644
index 0000000..f9387a5
--- /dev/null
+++ b/libraries/evas/src/modules/loaders/png/Makefile.am
@@ -0,0 +1,34 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4AM_CPPFLAGS = \
5-I. \
6-I$(top_srcdir)/src/lib \
7-I$(top_srcdir)/src/lib/include \
8@FREETYPE_CFLAGS@ \
9@PIXMAN_CFLAGS@ \
10@EINA_CFLAGS@ \
11@evas_image_loader_png_cflags@ \
12@EVIL_CFLAGS@ \
13@WIN32_CPPFLAGS@
14
15if BUILD_LOADER_PNG
16if !EVAS_STATIC_BUILD_PNG
17
18pkgdir = $(libdir)/evas/modules/loaders/png/$(MODULE_ARCH)
19pkg_LTLIBRARIES = module.la
20
21module_la_SOURCES = evas_image_load_png.c
22
23module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_png_libs@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
24module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
25module_la_LIBTOOLFLAGS = --tag=disable-static
26
27else
28
29noinst_LTLIBRARIES = libevas_loader_png.la
30libevas_loader_png_la_SOURCES = evas_image_load_png.c
31libevas_loader_png_la_LIBADD = @evas_image_loader_png_libs@
32
33endif
34endif
diff --git a/libraries/evas/src/modules/loaders/png/Makefile.in b/libraries/evas/src/modules/loaders/png/Makefile.in
new file mode 100644
index 0000000..0717299
--- /dev/null
+++ b/libraries/evas/src/modules/loaders/png/Makefile.in
@@ -0,0 +1,759 @@
1# Makefile.in generated by automake 1.11.1 from Makefile.am.
2# @configure_input@
3
4# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
6# Inc.
7# This Makefile.in is free software; the Free Software Foundation
8# gives unlimited permission to copy and/or distribute it,
9# with or without modifications, as long as this notice is preserved.
10
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
13# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
14# PARTICULAR PURPOSE.
15
16@SET_MAKE@
17
18VPATH = @srcdir@
19pkgdatadir = $(datadir)/@PACKAGE@
20pkgincludedir = $(includedir)/@PACKAGE@
21pkglibdir = $(libdir)/@PACKAGE@
22pkglibexecdir = $(libexecdir)/@PACKAGE@
23am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
24install_sh_DATA = $(install_sh) -c -m 644
25install_sh_PROGRAM = $(install_sh) -c
26install_sh_SCRIPT = $(install_sh) -c
27INSTALL_HEADER = $(INSTALL_DATA)
28transform = $(program_transform_name)
29NORMAL_INSTALL = :
30PRE_INSTALL = :
31POST_INSTALL = :
32NORMAL_UNINSTALL = :
33PRE_UNINSTALL = :
34POST_UNINSTALL = :
35build_triplet = @build@
36host_triplet = @host@
37subdir = src/modules/loaders/png
38DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
39ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
40am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \
41 $(top_srcdir)/m4/efl_coverage.m4 \
42 $(top_srcdir)/m4/efl_doxygen.m4 \
43 $(top_srcdir)/m4/efl_fnmatch.m4 \
44 $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \
45 $(top_srcdir)/m4/evas_check_engine.m4 \
46 $(top_srcdir)/m4/evas_check_loader.m4 \
47 $(top_srcdir)/m4/evas_converter.m4 \
48 $(top_srcdir)/m4/evas_dither.m4 \
49 $(top_srcdir)/m4/evas_scaler.m4 $(top_srcdir)/m4/libtool.m4 \
50 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
51 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
52 $(top_srcdir)/configure.ac
53am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
54 $(ACLOCAL_M4)
55mkinstalldirs = $(install_sh) -d
56CONFIG_HEADER = $(top_builddir)/config.h
57CONFIG_CLEAN_FILES =
58CONFIG_CLEAN_VPATH_FILES =
59am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
60am__vpath_adj = case $$p in \
61 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
62 *) f=$$p;; \
63 esac;
64am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
65am__install_max = 40
66am__nobase_strip_setup = \
67 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
68am__nobase_strip = \
69 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
70am__nobase_list = $(am__nobase_strip_setup); \
71 for p in $$list; do echo "$$p $$p"; done | \
72 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
73 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
74 if (++n[$$2] == $(am__install_max)) \
75 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
76 END { for (dir in files) print dir, files[dir] }'
77am__base_list = \
78 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
79 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
80am__installdirs = "$(DESTDIR)$(pkgdir)"
81LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
82libevas_loader_png_la_DEPENDENCIES =
83am__libevas_loader_png_la_SOURCES_DIST = evas_image_load_png.c
84@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE@am_libevas_loader_png_la_OBJECTS = evas_image_load_png.lo
85libevas_loader_png_la_OBJECTS = $(am_libevas_loader_png_la_OBJECTS)
86AM_V_lt = $(am__v_lt_$(V))
87am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
88am__v_lt_0 = --silent
89@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE@am_libevas_loader_png_la_rpath =
90@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
91am__module_la_SOURCES_DIST = evas_image_load_png.c
92@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@am_module_la_OBJECTS = module_la-evas_image_load_png.lo
93module_la_OBJECTS = $(am_module_la_OBJECTS)
94module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
95 $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
96 $(AM_CFLAGS) $(CFLAGS) $(module_la_LDFLAGS) $(LDFLAGS) -o $@
97@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@am_module_la_rpath = \
98@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@ -rpath \
99@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@ $(pkgdir)
100DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
101depcomp = $(SHELL) $(top_srcdir)/depcomp
102am__depfiles_maybe = depfiles
103am__mv = mv -f
104COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
105 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
106LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
107 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
108 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
109 $(AM_CFLAGS) $(CFLAGS)
110AM_V_CC = $(am__v_CC_$(V))
111am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
112am__v_CC_0 = @echo " CC " $@;
113AM_V_at = $(am__v_at_$(V))
114am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
115am__v_at_0 = @
116CCLD = $(CC)
117LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
118 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
119 $(AM_LDFLAGS) $(LDFLAGS) -o $@
120AM_V_CCLD = $(am__v_CCLD_$(V))
121am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
122am__v_CCLD_0 = @echo " CCLD " $@;
123AM_V_GEN = $(am__v_GEN_$(V))
124am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
125am__v_GEN_0 = @echo " GEN " $@;
126SOURCES = $(libevas_loader_png_la_SOURCES) $(module_la_SOURCES)
127DIST_SOURCES = $(am__libevas_loader_png_la_SOURCES_DIST) \
128 $(am__module_la_SOURCES_DIST)
129ETAGS = etags
130CTAGS = ctags
131DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
132ACLOCAL = @ACLOCAL@
133ALLOCA = @ALLOCA@
134AMTAR = @AMTAR@
135AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
136AR = @AR@
137AS = @AS@
138AUTOCONF = @AUTOCONF@
139AUTOHEADER = @AUTOHEADER@
140AUTOMAKE = @AUTOMAKE@
141AWK = @AWK@
142CC = @CC@
143CCDEPMODE = @CCDEPMODE@
144CFLAGS = @CFLAGS@
145CHECK_CFLAGS = @CHECK_CFLAGS@
146CHECK_LIBS = @CHECK_LIBS@
147CPP = @CPP@
148CPPFLAGS = @CPPFLAGS@
149CXX = @CXX@
150CXXCPP = @CXXCPP@
151CXXDEPMODE = @CXXDEPMODE@
152CXXFLAGS = @CXXFLAGS@
153CYGPATH_W = @CYGPATH_W@
154DEFS = @DEFS@
155DEPDIR = @DEPDIR@
156DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
157DIRECTFB_LIBS = @DIRECTFB_LIBS@
158DLLTOOL = @DLLTOOL@
159DSYMUTIL = @DSYMUTIL@
160DUMPBIN = @DUMPBIN@
161ECHO_C = @ECHO_C@
162ECHO_N = @ECHO_N@
163ECHO_T = @ECHO_T@
164ECORE_EVAS_CFLAGS = @ECORE_EVAS_CFLAGS@
165ECORE_EVAS_LIBS = @ECORE_EVAS_LIBS@
166EDB_CFLAGS = @EDB_CFLAGS@
167EDB_LIBS = @EDB_LIBS@
168EDJE_CFLAGS = @EDJE_CFLAGS@
169EDJE_LIBS = @EDJE_LIBS@
170EET_CFLAGS = @EET_CFLAGS@
171EET_LIBS = @EET_LIBS@
172EFL_COVERAGE_CFLAGS = @EFL_COVERAGE_CFLAGS@
173EFL_COVERAGE_LIBS = @EFL_COVERAGE_LIBS@
174EFL_FNMATCH_LIBS = @EFL_FNMATCH_LIBS@
175EGREP = @EGREP@
176EINA_CFLAGS = @EINA_CFLAGS@
177EINA_LIBS = @EINA_LIBS@
178EVAS_CFLAGS = @EVAS_CFLAGS@
179EVAS_LIBS = @EVAS_LIBS@
180EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
181EVIL_CFLAGS = @EVIL_CFLAGS@
182EVIL_LIBS = @EVIL_LIBS@
183EXEEXT = @EXEEXT@
184FGREP = @FGREP@
185FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
186FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
187FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
188FREETYPE_LIBS = @FREETYPE_LIBS@
189FRIBIDI_CFLAGS = @FRIBIDI_CFLAGS@
190FRIBIDI_LIBS = @FRIBIDI_LIBS@
191GL_EET_CFLAGS = @GL_EET_CFLAGS@
192GL_EET_LIBS = @GL_EET_LIBS@
193GREP = @GREP@
194HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@
195HARFBUZZ_LIBS = @HARFBUZZ_LIBS@
196INSTALL = @INSTALL@
197INSTALL_DATA = @INSTALL_DATA@
198INSTALL_PROGRAM = @INSTALL_PROGRAM@
199INSTALL_SCRIPT = @INSTALL_SCRIPT@
200INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
201LD = @LD@
202LDFLAGS = @LDFLAGS@
203LIBOBJS = @LIBOBJS@
204LIBS = @LIBS@
205LIBTOOL = @LIBTOOL@
206LINEBREAK_CFLAGS = @LINEBREAK_CFLAGS@
207LINEBREAK_LIBS = @LINEBREAK_LIBS@
208LIPO = @LIPO@
209LN_S = @LN_S@
210LTLIBOBJS = @LTLIBOBJS@
211MAKEINFO = @MAKEINFO@
212MKDIR_P = @MKDIR_P@
213MODULE_ARCH = @MODULE_ARCH@
214NM = @NM@
215NMEDIT = @NMEDIT@
216OBJC = @OBJC@
217OBJCDEPMODE = @OBJCDEPMODE@
218OBJCFLAGS = @OBJCFLAGS@
219OBJDUMP = @OBJDUMP@
220OBJEXT = @OBJEXT@
221OTOOL = @OTOOL@
222OTOOL64 = @OTOOL64@
223PACKAGE = @PACKAGE@
224PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
225PACKAGE_NAME = @PACKAGE_NAME@
226PACKAGE_STRING = @PACKAGE_STRING@
227PACKAGE_TARNAME = @PACKAGE_TARNAME@
228PACKAGE_URL = @PACKAGE_URL@
229PACKAGE_VERSION = @PACKAGE_VERSION@
230PATH_SEPARATOR = @PATH_SEPARATOR@
231PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
232PIXMAN_LIBS = @PIXMAN_LIBS@
233PKG_CONFIG = @PKG_CONFIG@
234PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
235PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
236PNG_CFLAGS = @PNG_CFLAGS@
237PNG_LIBS = @PNG_LIBS@
238RANLIB = @RANLIB@
239SDL_CFLAGS = @SDL_CFLAGS@
240SDL_LIBS = @SDL_LIBS@
241SED = @SED@
242SET_MAKE = @SET_MAKE@
243SHELL = @SHELL@
244SHM_OPEN_LINK = @SHM_OPEN_LINK@
245STRIP = @STRIP@
246SVG_CFLAGS = @SVG_CFLAGS@
247SVG_LIBS = @SVG_LIBS@
248VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
249VALGRIND_LIBS = @VALGRIND_LIBS@
250VERSION = @VERSION@
251VMAJ = @VMAJ@
252WIN32_CFLAGS = @WIN32_CFLAGS@
253WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
254XCB_CFLAGS = @XCB_CFLAGS@
255XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
256XCB_GL_LIBS = @XCB_GL_LIBS@
257XCB_LIBS = @XCB_LIBS@
258XEXT_CFLAGS = @XEXT_CFLAGS@
259XEXT_LIBS = @XEXT_LIBS@
260XMKMF = @XMKMF@
261X_CFLAGS = @X_CFLAGS@
262X_EXTRA_LIBS = @X_EXTRA_LIBS@
263X_LIBS = @X_LIBS@
264X_PRE_LIBS = @X_PRE_LIBS@
265abs_builddir = @abs_builddir@
266abs_srcdir = @abs_srcdir@
267abs_top_builddir = @abs_top_builddir@
268abs_top_srcdir = @abs_top_srcdir@
269ac_ct_CC = @ac_ct_CC@
270ac_ct_CXX = @ac_ct_CXX@
271ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
272ac_ct_OBJC = @ac_ct_OBJC@
273altivec_cflags = @altivec_cflags@
274am__include = @am__include@
275am__leading_dot = @am__leading_dot@
276am__quote = @am__quote@
277am__tar = @am__tar@
278am__untar = @am__untar@
279bindir = @bindir@
280build = @build@
281build_alias = @build_alias@
282build_cpu = @build_cpu@
283build_os = @build_os@
284build_vendor = @build_vendor@
285builddir = @builddir@
286datadir = @datadir@
287datarootdir = @datarootdir@
288dlopen_libs = @dlopen_libs@
289docdir = @docdir@
290dvidir = @dvidir@
291edje_cc = @edje_cc@
292efl_doxygen = @efl_doxygen@
293efl_have_doxygen = @efl_have_doxygen@
294evas_engine_buffer_cflags = @evas_engine_buffer_cflags@
295evas_engine_buffer_libs = @evas_engine_buffer_libs@
296evas_engine_direct3d_cflags = @evas_engine_direct3d_cflags@
297evas_engine_direct3d_libs = @evas_engine_direct3d_libs@
298evas_engine_directfb_cflags = @evas_engine_directfb_cflags@
299evas_engine_directfb_libs = @evas_engine_directfb_libs@
300evas_engine_fb_cflags = @evas_engine_fb_cflags@
301evas_engine_fb_libs = @evas_engine_fb_libs@
302evas_engine_gl_cocoa_cflags = @evas_engine_gl_cocoa_cflags@
303evas_engine_gl_cocoa_libs = @evas_engine_gl_cocoa_libs@
304evas_engine_gl_common_libs = @evas_engine_gl_common_libs@
305evas_engine_gl_sdl_cflags = @evas_engine_gl_sdl_cflags@
306evas_engine_gl_sdl_libs = @evas_engine_gl_sdl_libs@
307evas_engine_gl_xcb_cflags = @evas_engine_gl_xcb_cflags@
308evas_engine_gl_xcb_libs = @evas_engine_gl_xcb_libs@
309evas_engine_gl_xlib_cflags = @evas_engine_gl_xlib_cflags@
310evas_engine_gl_xlib_libs = @evas_engine_gl_xlib_libs@
311evas_engine_psl1ght_cflags = @evas_engine_psl1ght_cflags@
312evas_engine_psl1ght_libs = @evas_engine_psl1ght_libs@
313evas_engine_software_16_ddraw_cflags = @evas_engine_software_16_ddraw_cflags@
314evas_engine_software_16_ddraw_libs = @evas_engine_software_16_ddraw_libs@
315evas_engine_software_16_sdl_cflags = @evas_engine_software_16_sdl_cflags@
316evas_engine_software_16_sdl_libs = @evas_engine_software_16_sdl_libs@
317evas_engine_software_16_wince_cflags = @evas_engine_software_16_wince_cflags@
318evas_engine_software_16_wince_libs = @evas_engine_software_16_wince_libs@
319evas_engine_software_16_x11_cflags = @evas_engine_software_16_x11_cflags@
320evas_engine_software_16_x11_libs = @evas_engine_software_16_x11_libs@
321evas_engine_software_8_x11_cflags = @evas_engine_software_8_x11_cflags@
322evas_engine_software_8_x11_libs = @evas_engine_software_8_x11_libs@
323evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
324evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
325evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
326evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
327evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
328evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
329evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
330evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
331evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
332evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
333evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@
334evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@
335evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@
336evas_image_loader_edb_libs = @evas_image_loader_edb_libs@
337evas_image_loader_eet_cflags = @evas_image_loader_eet_cflags@
338evas_image_loader_eet_libs = @evas_image_loader_eet_libs@
339evas_image_loader_generic_cflags = @evas_image_loader_generic_cflags@
340evas_image_loader_generic_libs = @evas_image_loader_generic_libs@
341evas_image_loader_gif_cflags = @evas_image_loader_gif_cflags@
342evas_image_loader_gif_libs = @evas_image_loader_gif_libs@
343evas_image_loader_ico_cflags = @evas_image_loader_ico_cflags@
344evas_image_loader_ico_libs = @evas_image_loader_ico_libs@
345evas_image_loader_jpeg_cflags = @evas_image_loader_jpeg_cflags@
346evas_image_loader_jpeg_libs = @evas_image_loader_jpeg_libs@
347evas_image_loader_pmaps_cflags = @evas_image_loader_pmaps_cflags@
348evas_image_loader_pmaps_libs = @evas_image_loader_pmaps_libs@
349evas_image_loader_png_cflags = @evas_image_loader_png_cflags@
350evas_image_loader_png_libs = @evas_image_loader_png_libs@
351evas_image_loader_psd_cflags = @evas_image_loader_psd_cflags@
352evas_image_loader_psd_libs = @evas_image_loader_psd_libs@
353evas_image_loader_svg_cflags = @evas_image_loader_svg_cflags@
354evas_image_loader_svg_libs = @evas_image_loader_svg_libs@
355evas_image_loader_tga_cflags = @evas_image_loader_tga_cflags@
356evas_image_loader_tga_libs = @evas_image_loader_tga_libs@
357evas_image_loader_tiff_cflags = @evas_image_loader_tiff_cflags@
358evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
359evas_image_loader_wbmp_cflags = @evas_image_loader_wbmp_cflags@
360evas_image_loader_wbmp_libs = @evas_image_loader_wbmp_libs@
361evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
362evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
363exec_prefix = @exec_prefix@
364have_evas_engine_gl_x11 = @have_evas_engine_gl_x11@
365have_evas_engine_gl_xcb = @have_evas_engine_gl_xcb@
366have_evas_engine_gl_xlib = @have_evas_engine_gl_xlib@
367have_evas_engine_software_x11 = @have_evas_engine_software_x11@
368have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
369have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
370have_lcov = @have_lcov@
371host = @host@
372host_alias = @host_alias@
373host_cpu = @host_cpu@
374host_os = @host_os@
375host_vendor = @host_vendor@
376htmldir = @htmldir@
377includedir = @includedir@
378infodir = @infodir@
379install_sh = @install_sh@
380libdir = @libdir@
381libexecdir = @libexecdir@
382localedir = @localedir@
383localstatedir = @localstatedir@
384lt_ECHO = @lt_ECHO@
385lt_enable_auto_import = @lt_enable_auto_import@
386mandir = @mandir@
387mkdir_p = @mkdir_p@
388oldincludedir = @oldincludedir@
389pdfdir = @pdfdir@
390pkgconfig_requires_private = @pkgconfig_requires_private@
391prefix = @prefix@
392program_transform_name = @program_transform_name@
393psdir = @psdir@
394pthread_cflags = @pthread_cflags@
395pthread_libs = @pthread_libs@
396release_info = @release_info@
397requirement_evas = @requirement_evas@
398sbindir = @sbindir@
399sharedstatedir = @sharedstatedir@
400srcdir = @srcdir@
401sysconfdir = @sysconfdir@
402target_alias = @target_alias@
403top_build_prefix = @top_build_prefix@
404top_builddir = @top_builddir@
405top_srcdir = @top_srcdir@
406version_info = @version_info@
407MAINTAINERCLEANFILES = Makefile.in
408AM_CPPFLAGS = \
409-I. \
410-I$(top_srcdir)/src/lib \
411-I$(top_srcdir)/src/lib/include \
412@FREETYPE_CFLAGS@ \
413@PIXMAN_CFLAGS@ \
414@EINA_CFLAGS@ \
415@evas_image_loader_png_cflags@ \
416@EVIL_CFLAGS@ \
417@WIN32_CPPFLAGS@
418
419@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@pkgdir = $(libdir)/evas/modules/loaders/png/$(MODULE_ARCH)
420@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@pkg_LTLIBRARIES = module.la
421@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@module_la_SOURCES = evas_image_load_png.c
422@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_png_libs@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
423@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
424@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static
425@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE@noinst_LTLIBRARIES = libevas_loader_png.la
426@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE@libevas_loader_png_la_SOURCES = evas_image_load_png.c
427@BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE@libevas_loader_png_la_LIBADD = @evas_image_loader_png_libs@
428all: all-am
429
430.SUFFIXES:
431.SUFFIXES: .c .lo .o .obj
432$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
433 @for dep in $?; do \
434 case '$(am__configure_deps)' in \
435 *$$dep*) \
436 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
437 && { if test -f $@; then exit 0; else break; fi; }; \
438 exit 1;; \
439 esac; \
440 done; \
441 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/loaders/png/Makefile'; \
442 $(am__cd) $(top_srcdir) && \
443 $(AUTOMAKE) --gnu src/modules/loaders/png/Makefile
444.PRECIOUS: Makefile
445Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
446 @case '$?' in \
447 *config.status*) \
448 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
449 *) \
450 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
451 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
452 esac;
453
454$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
455 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
456
457$(top_srcdir)/configure: $(am__configure_deps)
458 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
459$(ACLOCAL_M4): $(am__aclocal_m4_deps)
460 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
461$(am__aclocal_m4_deps):
462
463clean-noinstLTLIBRARIES:
464 -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
465 @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
466 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
467 test "$$dir" != "$$p" || dir=.; \
468 echo "rm -f \"$${dir}/so_locations\""; \
469 rm -f "$${dir}/so_locations"; \
470 done
471install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
472 @$(NORMAL_INSTALL)
473 test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
474 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
475 list2=; for p in $$list; do \
476 if test -f $$p; then \
477 list2="$$list2 $$p"; \
478 else :; fi; \
479 done; \
480 test -z "$$list2" || { \
481 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
482 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
483 }
484
485uninstall-pkgLTLIBRARIES:
486 @$(NORMAL_UNINSTALL)
487 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
488 for p in $$list; do \
489 $(am__strip_dir) \
490 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgdir)/$$f'"; \
491 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgdir)/$$f"; \
492 done
493
494clean-pkgLTLIBRARIES:
495 -test -z "$(pkg_LTLIBRARIES)" || rm -f $(pkg_LTLIBRARIES)
496 @list='$(pkg_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
502libevas_loader_png.la: $(libevas_loader_png_la_OBJECTS) $(libevas_loader_png_la_DEPENDENCIES)
503 $(AM_V_CCLD)$(LINK) $(am_libevas_loader_png_la_rpath) $(libevas_loader_png_la_OBJECTS) $(libevas_loader_png_la_LIBADD) $(LIBS)
504module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES)
505 $(AM_V_CCLD)$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
506
507mostlyclean-compile:
508 -rm -f *.$(OBJEXT)
509
510distclean-compile:
511 -rm -f *.tab.c
512
513@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_image_load_png.Plo@am__quote@
514@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_image_load_png.Plo@am__quote@
515
516.c.o:
517@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
518@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
519@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
520@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
521@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
522@am__fastdepCC_FALSE@ $(COMPILE) -c $<
523
524.c.obj:
525@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
526@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
527@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
528@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
529@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
530@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
531
532.c.lo:
533@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
534@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
535@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
536@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
537@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
538@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
539
540module_la-evas_image_load_png.lo: evas_image_load_png.c
541@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_image_load_png.lo -MD -MP -MF $(DEPDIR)/module_la-evas_image_load_png.Tpo -c -o module_la-evas_image_load_png.lo `test -f 'evas_image_load_png.c' || echo '$(srcdir)/'`evas_image_load_png.c
542@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_image_load_png.Tpo $(DEPDIR)/module_la-evas_image_load_png.Plo
543@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
544@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_image_load_png.c' object='module_la-evas_image_load_png.lo' libtool=yes @AMDEPBACKSLASH@
545@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
546@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_image_load_png.lo `test -f 'evas_image_load_png.c' || echo '$(srcdir)/'`evas_image_load_png.c
547
548mostlyclean-libtool:
549 -rm -f *.lo
550
551clean-libtool:
552 -rm -rf .libs _libs
553
554ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
555 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
556 unique=`for i in $$list; do \
557 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
558 done | \
559 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
560 END { if (nonempty) { for (i in files) print i; }; }'`; \
561 mkid -fID $$unique
562tags: TAGS
563
564TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
565 $(TAGS_FILES) $(LISP)
566 set x; \
567 here=`pwd`; \
568 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
569 unique=`for i in $$list; do \
570 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
571 done | \
572 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
573 END { if (nonempty) { for (i in files) print i; }; }'`; \
574 shift; \
575 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
576 test -n "$$unique" || unique=$$empty_fix; \
577 if test $$# -gt 0; then \
578 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
579 "$$@" $$unique; \
580 else \
581 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
582 $$unique; \
583 fi; \
584 fi
585ctags: CTAGS
586CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
587 $(TAGS_FILES) $(LISP)
588 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
589 unique=`for i in $$list; do \
590 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
591 done | \
592 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
593 END { if (nonempty) { for (i in files) print i; }; }'`; \
594 test -z "$(CTAGS_ARGS)$$unique" \
595 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
596 $$unique
597
598GTAGS:
599 here=`$(am__cd) $(top_builddir) && pwd` \
600 && $(am__cd) $(top_srcdir) \
601 && gtags -i $(GTAGS_ARGS) "$$here"
602
603distclean-tags:
604 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
605
606distdir: $(DISTFILES)
607 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
608 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
609 list='$(DISTFILES)'; \
610 dist_files=`for file in $$list; do echo $$file; done | \
611 sed -e "s|^$$srcdirstrip/||;t" \
612 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
613 case $$dist_files in \
614 */*) $(MKDIR_P) `echo "$$dist_files" | \
615 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
616 sort -u` ;; \
617 esac; \
618 for file in $$dist_files; do \
619 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
620 if test -d $$d/$$file; then \
621 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
622 if test -d "$(distdir)/$$file"; then \
623 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
624 fi; \
625 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
626 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
627 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
628 fi; \
629 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
630 else \
631 test -f "$(distdir)/$$file" \
632 || cp -p $$d/$$file "$(distdir)/$$file" \
633 || exit 1; \
634 fi; \
635 done
636check-am: all-am
637check: check-am
638all-am: Makefile $(LTLIBRARIES)
639installdirs:
640 for dir in "$(DESTDIR)$(pkgdir)"; do \
641 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
642 done
643install: install-am
644install-exec: install-exec-am
645install-data: install-data-am
646uninstall: uninstall-am
647
648install-am: all-am
649 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
650
651installcheck: installcheck-am
652install-strip:
653 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
654 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
655 `test -z '$(STRIP)' || \
656 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
657mostlyclean-generic:
658
659clean-generic:
660
661distclean-generic:
662 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
663 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
664
665maintainer-clean-generic:
666 @echo "This command is intended for maintainers to use"
667 @echo "it deletes files that may require special tools to rebuild."
668 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
669clean: clean-am
670
671clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
672 clean-pkgLTLIBRARIES mostlyclean-am
673
674distclean: distclean-am
675 -rm -rf ./$(DEPDIR)
676 -rm -f Makefile
677distclean-am: clean-am distclean-compile distclean-generic \
678 distclean-tags
679
680dvi: dvi-am
681
682dvi-am:
683
684html: html-am
685
686html-am:
687
688info: info-am
689
690info-am:
691
692install-data-am: install-pkgLTLIBRARIES
693
694install-dvi: install-dvi-am
695
696install-dvi-am:
697
698install-exec-am:
699
700install-html: install-html-am
701
702install-html-am:
703
704install-info: install-info-am
705
706install-info-am:
707
708install-man:
709
710install-pdf: install-pdf-am
711
712install-pdf-am:
713
714install-ps: install-ps-am
715
716install-ps-am:
717
718installcheck-am:
719
720maintainer-clean: maintainer-clean-am
721 -rm -rf ./$(DEPDIR)
722 -rm -f Makefile
723maintainer-clean-am: distclean-am maintainer-clean-generic
724
725mostlyclean: mostlyclean-am
726
727mostlyclean-am: mostlyclean-compile mostlyclean-generic \
728 mostlyclean-libtool
729
730pdf: pdf-am
731
732pdf-am:
733
734ps: ps-am
735
736ps-am:
737
738uninstall-am: uninstall-pkgLTLIBRARIES
739
740.MAKE: install-am install-strip
741
742.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
743 clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
744 ctags distclean distclean-compile distclean-generic \
745 distclean-libtool distclean-tags distdir dvi dvi-am html \
746 html-am info info-am install install-am install-data \
747 install-data-am install-dvi install-dvi-am install-exec \
748 install-exec-am install-html install-html-am install-info \
749 install-info-am install-man install-pdf install-pdf-am \
750 install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
751 installcheck installcheck-am installdirs maintainer-clean \
752 maintainer-clean-generic mostlyclean mostlyclean-compile \
753 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
754 tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
755
756
757# Tell versions [3.59,3.63) of GNU make to not export all variables.
758# Otherwise a system limit (for SysV at least) may be exceeded.
759.NOEXPORT:
diff --git a/libraries/evas/src/modules/loaders/png/evas_image_load_png.c b/libraries/evas/src/modules/loaders/png/evas_image_load_png.c
new file mode 100644
index 0000000..a1480ae
--- /dev/null
+++ b/libraries/evas/src/modules/loaders/png/evas_image_load_png.c
@@ -0,0 +1,328 @@
1#ifdef HAVE_CONFIG_H
2# include <config.h>
3#endif
4
5#include <stdio.h>
6#include <png.h>
7#include <setjmp.h>
8
9#ifdef HAVE_EVIL
10# include <Evil.h>
11#endif
12
13#ifdef _WIN32_WCE
14# define E_FOPEN(file, mode) evil_fopen_native((file), (mode))
15# define E_FREAD(buffer, size, count, stream) evil_fread_native(buffer, size, count, stream)
16# define E_FCLOSE(stream) evil_fclose_native(stream)
17#else
18# define E_FOPEN(file, mode) fopen((file), (mode))
19# define E_FREAD(buffer, size, count, stream) fread(buffer, size, count, stream)
20# define E_FCLOSE(stream) fclose(stream)
21#endif
22
23#include "evas_common.h"
24#include "evas_private.h"
25
26
27#define PNG_BYTES_TO_CHECK 4
28
29
30static Eina_Bool evas_image_load_file_head_png(Image_Entry *ie, const char *file, const char *key, int *error) EINA_ARG_NONNULL(1, 2, 4);
31static Eina_Bool evas_image_load_file_data_png(Image_Entry *ie, const char *file, const char *key, int *error) EINA_ARG_NONNULL(1, 2, 4);
32
33static Evas_Image_Load_Func evas_image_load_png_func =
34{
35 EINA_TRUE,
36 evas_image_load_file_head_png,
37 evas_image_load_file_data_png,
38 NULL
39};
40
41static Eina_Bool
42evas_image_load_file_head_png(Image_Entry *ie, const char *file, const char *key __UNUSED__, int *error)
43{
44 png_uint_32 w32, h32;
45 FILE *f;
46 png_structp png_ptr = NULL;
47 png_infop info_ptr = NULL;
48 int bit_depth, color_type, interlace_type;
49 unsigned char buf[PNG_BYTES_TO_CHECK];
50 char hasa;
51
52 hasa = 0;
53 f = E_FOPEN(file, "rb");
54 if (!f)
55 {
56 ERR("File: '%s' does not exist\n", file);
57 *error = EVAS_LOAD_ERROR_DOES_NOT_EXIST;
58 return EINA_FALSE;
59 }
60
61 /* if we havent read the header before, set the header data */
62 if (E_FREAD(buf, PNG_BYTES_TO_CHECK, 1, f) != 1)
63 {
64 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
65 goto close_file;
66 }
67
68 if (png_sig_cmp(buf, 0, PNG_BYTES_TO_CHECK))
69 {
70 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
71 goto close_file;
72 }
73
74 png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
75 if (!png_ptr)
76 {
77 *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
78 goto close_file;
79 }
80
81 info_ptr = png_create_info_struct(png_ptr);
82 if (!info_ptr)
83 {
84 png_destroy_read_struct(&png_ptr, NULL, NULL);
85 *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
86 goto close_file;
87 }
88 if (setjmp(png_jmpbuf(png_ptr)))
89 {
90 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
91 *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
92 goto close_file;
93 }
94 png_init_io(png_ptr, f);
95 png_set_sig_bytes(png_ptr, PNG_BYTES_TO_CHECK);
96 png_read_info(png_ptr, info_ptr);
97 png_get_IHDR(png_ptr, info_ptr, (png_uint_32 *) (&w32),
98 (png_uint_32 *) (&h32), &bit_depth, &color_type,
99 &interlace_type, NULL, NULL);
100 if ((w32 < 1) || (h32 < 1) || (w32 > IMG_MAX_SIZE) || (h32 > IMG_MAX_SIZE) ||
101 IMG_TOO_BIG(w32, h32))
102 {
103 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
104 if (IMG_TOO_BIG(w32, h32))
105 *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
106 else
107 *error = EVAS_LOAD_ERROR_GENERIC;
108 goto close_file;
109 }
110 if (ie->load_opts.scale_down_by > 1)
111 {
112 ie->w = (int) w32 / ie->load_opts.scale_down_by;
113 ie->h = (int) h32 / ie->load_opts.scale_down_by;
114 if ((ie->w < 1) || (ie->h < 1))
115 {
116 *error = EVAS_LOAD_ERROR_GENERIC;
117 goto close_file;
118 }
119 }
120 else
121 {
122 ie->w = (int) w32;
123 ie->h = (int) h32;
124 }
125 if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) hasa = 1;
126 if (color_type == PNG_COLOR_TYPE_RGB_ALPHA) hasa = 1;
127 if (color_type == PNG_COLOR_TYPE_GRAY_ALPHA) hasa = 1;
128 if (hasa) ie->flags.alpha = 1;
129 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
130 E_FCLOSE(f);
131
132 *error = EVAS_LOAD_ERROR_NONE;
133 return EINA_TRUE;
134
135 close_file:
136 E_FCLOSE(f);
137 return EINA_FALSE;
138}
139
140static Eina_Bool
141evas_image_load_file_data_png(Image_Entry *ie, const char *file, const char *key __UNUSED__, int *error)
142{
143 unsigned char *surface;
144 png_uint_32 w32, h32;
145 int w, h;
146 FILE *f;
147 png_structp png_ptr = NULL;
148 png_infop info_ptr = NULL;
149 int bit_depth, color_type, interlace_type;
150 unsigned char buf[PNG_BYTES_TO_CHECK];
151 unsigned char **lines;
152 char hasa;
153 int i, j;
154 int scale_ratio = 1, image_w = 0;
155 unsigned char *tmp_line;
156 DATA32 *src_ptr, *dst_ptr;
157
158 hasa = 0;
159 f = E_FOPEN(file, "rb");
160 if (!f)
161 {
162 *error = EVAS_LOAD_ERROR_DOES_NOT_EXIST;
163 return EINA_FALSE;
164 }
165
166 /* if we havent read the header before, set the header data */
167 if (E_FREAD(buf, PNG_BYTES_TO_CHECK, 1, f) != 1)
168 {
169 *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
170 goto close_file;
171 }
172 if (png_sig_cmp(buf, 0, PNG_BYTES_TO_CHECK))
173 {
174 *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
175 goto close_file;
176 }
177 png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
178 if (!png_ptr)
179 {
180 *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
181 goto close_file;
182 }
183
184 info_ptr = png_create_info_struct(png_ptr);
185 if (!info_ptr)
186 {
187 png_destroy_read_struct(&png_ptr, NULL, NULL);
188 *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
189 goto close_file;
190 }
191 if (setjmp(png_jmpbuf(png_ptr)))
192 {
193 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
194 *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
195 goto close_file;
196 }
197 png_init_io(png_ptr, f);
198 png_set_sig_bytes(png_ptr, PNG_BYTES_TO_CHECK);
199 png_read_info(png_ptr, info_ptr);
200 png_get_IHDR(png_ptr, info_ptr, (png_uint_32 *) (&w32),
201 (png_uint_32 *) (&h32), &bit_depth, &color_type,
202 &interlace_type, NULL, NULL);
203 image_w = w32;
204 if (ie->load_opts.scale_down_by > 1)
205 {
206 scale_ratio = ie->load_opts.scale_down_by;
207 w32 /= scale_ratio;
208 h32 /= scale_ratio;
209 }
210 evas_cache_image_surface_alloc(ie, w32, h32);
211 surface = (unsigned char *) evas_cache_image_pixels(ie);
212 if (!surface)
213 {
214 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
215 *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
216 goto close_file;
217 }
218 if ((w32 != ie->w) || (h32 != ie->h))
219 {
220 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
221 *error = EVAS_LOAD_ERROR_GENERIC;
222 goto close_file;
223 }
224 if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) hasa = 1;
225 if (color_type == PNG_COLOR_TYPE_RGB_ALPHA) hasa = 1;
226 if (color_type == PNG_COLOR_TYPE_GRAY_ALPHA) hasa = 1;
227 if (hasa) ie->flags.alpha = 1;
228
229 /* Prep for transformations... ultimately we want ARGB */
230 /* expand palette -> RGB if necessary */
231 if (color_type == PNG_COLOR_TYPE_PALETTE) png_set_palette_to_rgb(png_ptr);
232 /* expand gray (w/reduced bits) -> 8-bit RGB if necessary */
233 if ((color_type == PNG_COLOR_TYPE_GRAY) ||
234 (color_type == PNG_COLOR_TYPE_GRAY_ALPHA))
235 {
236 png_set_gray_to_rgb(png_ptr);
237 if (bit_depth < 8) png_set_expand_gray_1_2_4_to_8(png_ptr);
238 }
239 /* expand transparency entry -> alpha channel if present */
240 if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
241 png_set_tRNS_to_alpha(png_ptr);
242 /* reduce 16bit color -> 8bit color if necessary */
243 if (bit_depth > 8) png_set_strip_16(png_ptr);
244 /* pack all pixels to byte boundaries */
245 png_set_packing(png_ptr);
246
247 w = ie->w;
248 h = ie->h;
249 /* we want ARGB */
250#ifdef WORDS_BIGENDIAN
251 png_set_swap_alpha(png_ptr);
252 if (!hasa) png_set_filler(png_ptr, 0xff, PNG_FILLER_BEFORE);
253#else
254 png_set_bgr(png_ptr);
255 if (!hasa) png_set_filler(png_ptr, 0xff, PNG_FILLER_AFTER);
256#endif
257
258 /* we read image line by line if scale down was set */
259 if (scale_ratio == 1)
260 {
261 lines = (unsigned char **) alloca(h * sizeof(unsigned char *));
262 for (i = 0; i < h; i++)
263 lines[i] = surface + (i * w * sizeof(DATA32));
264 png_read_image(png_ptr, lines);
265 png_read_end(png_ptr, info_ptr);
266 }
267 else
268 {
269 tmp_line = (unsigned char *) alloca(image_w * sizeof(DATA32));
270 dst_ptr = (DATA32 *)surface;
271 for (i = 0; i < h; i++)
272 {
273 png_read_row(png_ptr, tmp_line, NULL);
274 src_ptr = (DATA32 *)tmp_line;
275 for (j = 0; j < w; j++)
276 {
277 *dst_ptr = *src_ptr;
278 dst_ptr++;
279 src_ptr += scale_ratio;
280 }
281 for (j = 0; j < (scale_ratio - 1); j++)
282 {
283 png_read_row(png_ptr, tmp_line, NULL);
284 }
285 }
286 }
287
288 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
289 E_FCLOSE(f);
290 evas_common_image_premul(ie);
291
292 *error = EVAS_LOAD_ERROR_NONE;
293 return EINA_TRUE;
294
295 close_file:
296 E_FCLOSE(f);
297 return EINA_FALSE;
298}
299
300static int
301module_open(Evas_Module *em)
302{
303 if (!em) return 0;
304 em->functions = (void *)(&evas_image_load_png_func);
305 return 1;
306}
307
308static void
309module_close(Evas_Module *em __UNUSED__)
310{
311}
312
313static Evas_Module_Api evas_modapi =
314{
315 EVAS_MODULE_API_VERSION,
316 "png",
317 "none",
318 {
319 module_open,
320 module_close
321 }
322};
323
324EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_LOADER, image_loader, png);
325
326#ifndef EVAS_STATIC_BUILD_PNG
327EVAS_EINA_MODULE_DEFINE(image_loader, png);
328#endif